我正在阅读这篇文章,它解释了iOS/OSX中的代码签名。
据我所知,从KeyChain Access实用程序中,我可以看到我的证书,如果展开我的开发人员证书,我可以看到有一个私钥:

文章说:
...you将找到您拥有私钥的证书。要使用证书进行签名,您需要私钥.
我明白这一点。
这篇文章还说:
若要使用私钥从密钥链导出证书,请命令-单击证书并选择“导出.
这让我觉得私钥被注入到证书里面了。
但这篇文章接着说:
证书--广义地说--是一种公钥,它与许多其他信息相结合,这些信息本身都是由某一权威机构签署的。
我感到困惑,第一个引号说证书包含一个私钥,但上面的引号说证书是一个与其他信息相结合的公钥。那么私钥在哪里?
我能这样理解吗:
证书实际上是一个包含/嵌套私钥的公钥?那么,如果我导出证书,我实际上是导出公开密钥和私钥以及其他信息的形式的X509证书?
发布于 2016-08-07 13:49:36
如果要导出证书,则不包括私钥(除非也选择私钥)。更多信息:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html
这篇文章是正确的。证书本身不包括私钥。但是,在本文中,您被要求与私钥一起选择证书并导出它。执行此操作时,私钥将包含在您正在创建的.p12文件中。
https://stackoverflow.com/questions/38814726
复制相似问题