签署应用程序时究竟如何使用 WWDR 中间证书?

How exactly is the WWDR Intermediate Certificate used when signing an app?

问题:

我对 iOS 开发中使用的 WWDR 中级证书的用途有点困惑。完成这些步骤后:

  1. 生成public/private密钥对;
  2. 根据生成的对生成证书签名请求 (CSR),并将其发送给 Apple;
  3. 收到由 Apple 签名的证书,验证我拥有与提交的 public 密钥关联的私钥,

我似乎已经拥有签署应用程序所需的一切(使用我的私钥)并且已经向 Apple 证明我是私钥的所有者。因此,我得出以下相关问题:

上下文:

我是一名 Android 开发人员,过去 3 个月一直在进行 iOS 开发。到目前为止,我已经建立了我的理解:

我已阅读问题 like this one,这些问题表明需要 WWDR 中间证书来验证通过发送给 Apple 的 CSR 获得的所有其他证书是否有效。该验证是如何执行的?下载中间证书是验证另一个证书的签署者是否为 CA 的典型方法吗?

您在 CSR 中提供了一些详细信息,包括 public Apple 密钥。从技术上讲,这并不能向 Apple 证明您拥有私钥,但签名信息可用于验证您的 public 密钥。只要您的私钥是保密的,那么用您的 public 密钥解密的东西一定是用相应的私钥加密的。这意味着 iOS 设备可以信任您生成的配置文件和应用程序,因为您的身份可以被验证并链接到他们信任的东西。

您的 CSR 由 WWDR 中间证书签名的原因是为了帮助 Apple 的根密钥对的安全性。根密钥对是一个非常重要和敏感​​的东西。访问它的权限将仅限于 Apple 的极少数人。将它放在连接互联网的计算机上以便它可以签署您的 CSR 将非常危险。

为避免根证书在线,使用中间 CA。根证书用于在离线过程中生成中间 CA。

然后,如果中间 CA 证书被泄露,则可以撤销并重新颁发该证书,而无需更新数百万设备中持有的根 public 密钥或泄露 Apple 可能拥有的许多其他证书为不同目的发行