2010-11-17 150 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类用于导入外部密钥。