iPhone:如何从公钥文件 (PEM) 创建 SecKeyRef
为了从 iPhone 发送和接收加密消息,我需要读取公钥(服务器的公钥)PEM 文件并创建 SecKeyRef(后来我什至可以将其存储在钥匙串上,以免再次创建)。
这是我当前的工作流程:
- 在服务器上:使用用户的证书和私钥创建 P12 文件。将用户的公钥存储在服务器的钥匙串上。
- 在iPhone上:从服务器检索P12文件,使用密码打开它并将私钥存储在钥匙串上。
- 在 iPhone 上:使用服务器的公钥从服务器检索 PEM 文件。创建 SecKeyRef 并将其存储在钥匙串上
- 在 iPhone 上:使用两个密钥向服务器发送加密消息或从服务器接收加密消息。
- 从此过上幸福的生活。
我在使用 3 时遇到问题,因为我无法从 PEM 文件数据创建 SecKeyRef。我找不到任何有关如何执行此操作的文档,有人遇到同样的问题吗?有什么提示吗?由于我找不到任何相关的代码示例或文档,感觉我做错了什么......
谢谢!
In order to send and receive encrypted messages from/to the iPhone I need to read a public key (server's public key) PEM file and create a SecKeyRef (later I could even store it on the keychain in order not to create it again).
This is my current workflow:
- On the server: Create a P12 file with the user's certificate and private key. Store the user's public key on the server's keychain.
- On the iPhone: Retrieve the P12 file from the server, use the password to open it and store the private key on the keychain.
- On the iPhone: Retrieve a PEM file with the server's public key from the server. Create a SecKeyRef and store it on the keychain
- On the iPhone: use both keys to send/receive encrypted messages to/from the server.
- Live happily ever after.
I'm having problems with 3, as I cannot create a SecKeyRef from the PEM file data. I cannot find any documentation on how to do it, Did anybody had the same problem? Any hints? As I cannot find any code examples or documentation on this it feels that I'm doing something wrong...
thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该能够解释 DER 编码的 pem 并使用 SecCertificateCreateWithData() 获取证书,然后您可以从中提取密钥;
You should be able to interpret a DER encoded pem and get a cert using
SecCertificateCreateWithData()
from which you can then extract a key;