我正在阅读this article,它解释了iOS / OSX中的代码签名。
据我所知,从 KeyChain Access ultility我可以看到我的证书,如果展开我的开发人员证书,我可以看到有一个私钥:
文章说:
...您将找到您拥有私钥的证书。使用 签名证书,你需要私钥......
我理解这一点。
文章还说:
使用私钥从您的钥匙串导出证书 key,Command-单击证书并选择“导出...
”
让我觉得私钥被注入证书中。
但文章说:
证书是 - 广泛地说 - 公钥与...结合 一些人自己签署的许多其他信息 权威
我感到困惑,第一句话说证书包含一个私钥,但上面的引用说证书是公钥并结合其他信息。那么私钥在哪里???
我可以这样理解:
证书实际上是一个用私钥保存/嵌套的公钥?那么,如果我导出证书,我实际上是以X509证书的形式导出公钥和私钥以及其他信息?
答案 0 :(得分:1)
如果要导出证书,则不包括私钥(除非您也选择它)。 更多信息:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html
文章是正确的。证书本身不包含私钥。但是,在本文中,您需要使用私钥选择证书一起并将其导出。执行此操作时,私钥包含在您正在创建的.close()
文件中。