首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone:如何从公钥文件创建SecKeyRef

iPhone:如何从公钥文件创建SecKeyRef
EN

Stack Overflow用户
提问于 2009-10-20 14:28:58
回答 1查看 11.3K关注 0票数 14

为了从/向iPhone发送和接收加密消息,我需要读取一个公钥(服务器的公钥) PEM文件,并创建一个SecKeyRef (稍后,我甚至可以将它存储在密钥链上,以避免再次创建它)。

这是我当前的工作流程:

服务器上的

  1. :使用用户证书和私钥创建P12文件。将用户的公钥存储在服务器的密钥链上。
  2. 在iPhone上:从服务器检索P12文件,使用密码打开它并将私钥存储在密钥链上。iPhone上的
  3. :从服务器检索带有服务器公钥的PEM文件。创建一个SecKeyRef并将其存储在iPhone上的密钥链
  4. 上:使用这两个密钥向服务器发送/接收加密消息。
  5. 从此幸福地生活。--

我对3有问题,因为我不能从PEM文件数据创建一个SecKeyRef。我找不到任何关于如何做的文件,有人也有同样的问题吗?有什么暗示吗?因为我找不到任何代码示例或文档,我觉得我做错了什么.

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-27 19:10:19

您应该能够解释一个DER编码的pem,并使用SecCertificateCreateWithData()获得一个证书,然后您可以从中提取一个密钥;

代码语言:javascript
复制
NSData *myCertData = ....;

SecCertificateRef cert = SecCertificateCreateWithData (kCFAllocatorDefault, myCertData); 
CFArrayRef certs = CFArrayCreate(kCFAllocatorDefault, (const void **) &cert, 1, NULL); 

SecTrustRef trust;
SecTrustCreateWithCertificates(certs, policy, &trust);
SecTrustResultType trustResult;
SecTrustEvaluate(trust, &trustResult);
SecKeyRef pub_key_leaf = SecTrustCopyPublicKey(trust);
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1595013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档