【问题标题】:Can we use same CSR to create certificates for different companies?我们可以使用相同的 CSR 为不同的公司创建证书吗?
【发布时间】:2013-08-09 19:30:12
【问题描述】:

我有一个简单的问题。我为多个客户开发 iOS 应用程序。每个客户都有自己的 Apple 帐户,我从我的机器上为他们创建证书。我的问题是我可以使用相同的 CSR 文件为不同的公司创建证书吗?谢谢。

【问题讨论】:

    标签: ios app-store-connect csr


    【解决方案1】:

    是的,从技术上讲,您可以使用相同的证书签名请求为多家公司创建多个证书,显然证书请求必须从正确的开发者帐户上传。

    CSR 实际上包含请求者公钥,CA(在本例中为 Apple)将使用该公钥来创建请求的证书。您可以使用 openssl 命令查看其内容:

    openssl req -text -noout -verify -in CertificateSigningRequest.certSigningRequest

    但正如用户在评论中正确指出的那样,您的所有证书都将绑定到同一个私钥(实际上,每次创建 CSR 时都会重新生成公钥/私钥对),这可能会导致安全性降低如果请求证书的机器受到威胁。某些服务需要为每个证书生成提供唯一的 CSR,但目前 Apple 并未强制执行,允许重复使用相同的 CSR。这种 CSR 分离对于创建分发证书和 APNS 生产证书特别有用。

    【讨论】:

    • 是的,您可以这样做,但是您故意破坏了保护代码签名的多层安全机制之一。密钥对仅在构建 CSR 时生成,而不是每次向 Apple 提交 CSR 时生成,因此每个公司最终都使用相同的密钥对,违反了 PKI 划分。每次请求新证书时,多花 30 秒重新生成密钥对;如果您的工作机器受到损害并且您必须为所有客户重新颁发证书,您的客户会感谢您。
    猜你喜欢
    • 1970-01-01
    • 2016-06-17
    • 2020-04-11
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 2014-08-23
    • 2021-02-16
    • 2012-12-20
    相关资源
    最近更新 更多