2010-11-17 7 views
1

J'ai une clé publique générée en JAVA. Je veux utiliser cette clé et crypter les données en utilisant RSA et l'envoyer au serveur. Comment puis-je faire cela en utilisant le SDK iPhone?RSA iphone clé publique

Merci

Répondre

1

Malheureusement, iOS n'a pas d'API publiques pour traiter les clés RSA premières.

Il y a deux choses que vous pouvez faire:

1) Au lieu de donner à votre application d'une clé publique, donner à votre application un certificat à la place. Vous pouvez importer le certificat avec SecCertificateCreateWithData. Créez ensuite une approbation avec SecTrustCreateWithCertificates. Une fois que vous avez la confiance, vous pouvez extraire la clé publique avec SecTrustCopyPublicKey.

2) L'autre option consiste à inclure OpenSSL dans votre projet. Il a toutes les API dont vous avez besoin, vous pouvez google par exemple du code sur la façon de travailler avec les clés RSA. Cela pourrait être la solution la plus simple.

J'ai mis à disposition un script pour créer facilement OpenSSL à partir de la source. Vous pouvez la saisir à partir de:

http://github.com/st3fan/ios-openssl

0

Si votre clé publique est sous forme de module/exposant, cette question peut aider: Convert XML Dsig format to DER ASN.1 public key

Je compris comment encode binaire le module et l'exposant dans la Format DER ASN.1 que la classe SecKeyWrapper du projet CryptoExercise d'Apple utilise pour importer une clé externe.

Questions connexes