2010-11-17 253 views
1

我有一個用JAVA生成的公鑰。 我想使用這個密鑰,並使用RSA加密數據並將其發送到服務器。 我該如何使用iPhone SDK來做到這一點?RSA iphone公鑰

謝謝

回答

1

不幸的是,iOS沒有公開的API來處理原始的RSA密鑰。

有兩件事情可以做:

1)而不是給你的應用程序公共密鑰,爲您的應用,而不是證書。您可以使用SecCertificateCreateWithData導入證書。然後用SecTrustCreateWithCertificates創建一個信任。獲得信任後,您可以使用SecTrustCopyPublicKey提取公鑰。

2)另一種選擇是在您的項目中包含OpenSSL。它具有您需要的所有API,您可以通過谷歌例如關於如何使用RSA密鑰的代碼。這可能是更簡單的解決方案。

我已經提供了一個腳本來從源代碼輕鬆構建OpenSSL。您可以從抓住它:

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

0

如果你的公鑰是在模數/指數形式,這個問題可能會有所幫助:Convert XML Dsig format to DER ASN.1 public key

我想出如何進行二進制編碼係數和指數進入DER ASN.1格式,即Apple的CryptoExercise項目的SecKeyWrapper類用於導入外部密鑰。