【发布时间】:2011-11-10 11:03:08
【问题描述】:
我正在编写 iOS 应用程序。服务器将 RSA 公钥发送给应用程序。现在应用程序必须使用 RSA 算法加密一些信息
请给我一些参考。 谢谢
【问题讨论】:
-
看这个关于如何用RSA加密的问题:stackoverflow.com/questions/4211484/…
标签: ios encryption rsa
我正在编写 iOS 应用程序。服务器将 RSA 公钥发送给应用程序。现在应用程序必须使用 RSA 算法加密一些信息
请给我一些参考。 谢谢
【问题讨论】:
标签: ios encryption rsa
iOS 没有专门针对 RSA 的 API,但有一些关于证书的 API。您可以使用这些 API 通过 RSA 加密您的数据。
首先,您必须使用 openssl 生成您的 RSA 私钥和公钥。最重要的是必须对公钥进行签名。这是生成密钥的说明。
openssl req -x509 -out public_key.der -outform der -new -newkey rsa:1024 -keyout private_key.pem -days 3650
但是,如果您已经有私钥(.pem 文件),则可以按照说明进行操作:
openssl req -new -out cert.csr -key private_key.pem
openssl x509 -req -in cert.csr -out public_key.der -outform der -signkey private_key.pem -days 3650
您可以通过在 xcode 中打开 public_key.der 来检查它。
当您获得正确的 public_key.der 文件后,您可以查看 RSA.h 和 RSA.m here。对不起,我没有时间再用英语重写这篇文章了。
【讨论】:
这个Pod封装了加密:https://github.com/xjunior/XRSA
【讨论】:
我对 iOS 了解不多,但 Certificate, Key, and Trust Services Reference 似乎是您需要的。看来SecKeyEncrypt 会在某个时候被您使用。
【讨论】: