我在JAVA中生成了一个公钥。 我想使用此密钥并使用RSA加密数据并将其发送到服务器。 我怎么能用iPhone SDK做到这一点?
由于
答案 0 :(得分:1)
不幸的是,iOS没有处理原始RSA密钥的公共API。
您可以做两件事:
1)而不是为您的应用提供公钥,而是为您的应用提供证书。您可以使用SecCertificateCreateWithData
导入证书。然后使用SecTrustCreateWithCertificates
创建信任。获得信任后,您可以使用SecTrustCopyPublicKey
提取公钥。
2)另一种选择是在项目中包含OpenSSL。它拥有您需要的所有API,您可以谷歌搜索有关如何使用RSA密钥的示例代码。这可能是更简单的解决方案。
我已经提供了一个脚本来轻松地从源代码构建OpenSSL。你可以从以下地址获取它:
答案 1 :(得分:0)
如果您的公钥是模数/指数形式,则此问题可能有所帮助:Convert XML Dsig format to DER ASN.1 public key
我想出了如何将模数和指数二进制编码为DER ASN.1格式,而Apple的CryptoExercise项目的SecKeyWrapper
类用于导入外部密钥。