【问题标题】:ios certificate for code signing confusion用于代码签名混淆的 ios 证书
【发布时间】:2016-08-07 13:44:31
【问题描述】:

我正在阅读 this article,它解释了 iOS/OSX 中的代码签名。

我了解到,从 KeyChain Access 实用程序中我可以看到我的证书,如果展开我的开发者证书,我可以看到有一个私钥:

文章说:

...您将找到您拥有私钥的证书。使用 用于签名的证书,您需要私钥...

我明白了。

文章还说:

使用私有密钥从您的钥匙串中导出证书 键,Command-单击证书并选择“导出...”

这让我觉得私钥被注入到证书中。

但是文章接着说:

证书——从广义上讲——是一个公钥,结合了 许多附加信息,这些信息本身已由某些人签名 权威

我很困惑,第一个引用说证书包含私钥,但上面的引用说证书是与其他信息结合的公钥。那么私钥在哪里???

我可以这样理解吗:

证书实际上是持有/嵌套私钥的公钥?那么,如果我导出证书,我实际上是在以 X509 证书的形式导出公钥和私钥以及其他信息?

【问题讨论】:

    标签: ios code-signing code-signing-certificate


    【解决方案1】:

    如果您要导出证书,则不包括私钥(除非您也选择了它)。 更多信息:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

    文章是正确的。证书本身不包括私钥。但是,在文章中,您需要选择证书一起与私钥并导出。这样做时,私钥包含在您正在创建的.p12 文件中。

    【讨论】:

    • 您是说我正在阅读的文章是错误的(如果您阅读了我帖子中的第二条引文)?
    • 如果我希望其他开发人员使用另一台 MacBook 能够构建我的项目,我应该使用或不使用私钥向他导出证书???
    • 其他开发者应该能够创建自己的开发者帐户并使用自己的帐户构建和运行应用程序。如果您希望其他开发人员能够对您的应用程序进行代码签名以将其发送给苹果并发布(或为企业开发签名),他们将需要同时拥有证书和私钥。您应该小心共享您的私钥,尤其是在涉及 APNS 时(不是这种情况),但如果错误的人得到它,您可以在 Apple 吊销您的证书并创建一个新证书。这意味着旧的不能再使用了。
    猜你喜欢
    • 2014-02-03
    • 2015-06-06
    • 1970-01-01
    • 2020-03-16
    • 2011-03-06
    • 1970-01-01
    • 2018-11-24
    • 1970-01-01
    • 2013-10-10
    相关资源
    最近更新 更多