问题:
对于 iOS 开发中使用的 WWDR 中间证书的用途,我有点困惑。完成以下步骤后:
- 生成公钥/私钥对;
- 根据生成的对生成证书签名请求 (CSR),并将其发送给 Apple;
- 收到由 Apple 签名的证书,验证我拥有与提交的公钥关联的私钥,
我似乎已经拥有签署应用程序所需的一切(使用我的私钥)并且已经向 Apple 证明我是私钥的所有者。因此,我得出以下相关问题:
- 为什么需要 WWDR 中级证书?
- WWDR 中级证书封装了哪些信息?
- 在代码签名过程的哪个阶段使用 WWDR 中间证书封装的信息,以及如何使用?
上下文:
我是一名 Android 开发者,过去 3 个月一直在做 iOS 开发。到目前为止,我已经了解了:
- 公钥密码学的基本原理;
- PKC 如何允许实体签名;
- 个人和 CA 之间需要信任链才能使签名有用。
我已阅读问题like this one表示需要 WWDR 中间证书来验证通过发送给 Apple 的 CSR 获取的所有其他证书是否有效。该验证是如何执行的?下载中间证书是验证另一个证书的签署者是否为 CA 的典型方法吗?
最佳答案
您在 CSR 中提供了一些详细信息,包括 Apple 的公钥。从技术上讲,这并不能向 Apple 证明您拥有私钥,但签名信息可用于验证您的公钥。只要你的私钥是保密的,那么用你的公钥解密的东西一定是用相应的私钥加密的。这意味着 iOS 设备可以信任您生成的配置文件和应用,因为您的身份可以得到验证并链接到他们信任的东西。
您的 CSR 由 WWDR 中间证书签名的原因是为了帮助 Apple 的根 key 对的安全性。根 key 对是一个非常重要和敏感的东西。访问它的权限将仅限于 Apple 的极少数人。将它放在连接互联网的计算机上以便它可以签署您的 CSR 将是非常危险的。
为避免根证书在线,使用中间 CA。根证书用于在离线过程中生成中间 CA。
然后,如果中间 CA 证书遭到破坏,则可以撤销并重新颁发该证书,而无需更新数百万设备中保存的根公钥或破坏 Apple 可能为不同目的颁发的许多其他证书
关于ios - 签署应用程序时究竟如何使用 WWDR 中间证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32685974/