IOS 和 Android 代码签名的集中式密钥管理

信息安全 公钥基础设施 密钥管理 代码签名
2021-08-14 00:17:29

企业管理代码签名证书的最佳方式是什么?默认情况下,Apple 和 Android 密钥似乎由每个开发人员存储在他们的机器上。

我看到像 Amazon Key Management Service 和 Microsoft Key Vault 这样的系统似乎是理想的,但我认为实际上不可能将它们用于 iOS 和 Android 应用程序。对我来说,处理这个问题的理想方法是,将代码提交到一个集中的密钥服务器,该服务器为开发人员签署代码,而无需向开发人员透露私钥。更改开发人员,您只需撤销他们对密钥管理服务器的访问权限。然后,您还有一种策略来处理所有不同的键。与持续交付集成似乎也更容易。

是否有组织使用任何策略来管理其私钥以对 ios 和 android 应用程序进行代码签名?

2个回答

对于 iOS 和 OSX,有“开发者”证书,需要在多达 100 台设备上进行配置;和“分发”证书,需要上传到应用商店。第一个是个人的,受开发者许可证的约束。后者可以为您的企业构建 Mac 保留。“团队代理”可以使用它并上传和委派权限。分发是值得关注的。

您可以使用安全存储的应用程序签名工具,该工具采用包含签名密钥的智能卡。应用程序签名工具(使用智能卡的 USB 连接硬件)可以与智能卡分开存储。开发人员和测试人员可以使用开发/测试密钥测试应用程序,但是一旦应用程序准备好发布,由于对上述工具的单独访问,有人可以在双重控制下执行最终签名,并且可以将其发布到运营部门进行部署到生产。