云端是否可以拥有应用程序EV代码签名证书?

4
我的团队使用证书签署我们的Windows应用程序。不幸的是,证书即将过期,我们需要一个新的证书。 我们想避免安装使用新证书签名的应用程序时出现的SmartScreen,我正在阅读有关EV证书具有内置声誉的内容。 Microsoft提供了一个销售代码签名证书的机构列表,但据我所知,所有这些都是物理设备,其中一个开发人员必须在家中保管。 我们不希望那样。是否有可能在云上拥有我们所有人都可以使用的东西?
2个回答

6
是的,在云端进行EV代码签名而不需要物理加密狗也是可能的。事实上,我们公司正在使用这种方法。以下是具体步骤:
1. 在基于云的HSM或KMS中创建新的签名密钥。 2. 将签名工具与基于云的HSM或KMS集成。
对于#1,有几个选项可供选择,包括AWS CloudHSM, AWS KMS, Azure Key Vault, Google KMS, Entrust's nShield as a Service, Thales' DPoD等。它们都有各种优缺点,因此您需要提前了解您的技术要求。一定要知道的两个项目是您使用的签名工具所需的签名算法列表和您的CA的证明要求。
一些工具(如signtool)允许您指定要使用的哈希算法。不幸的是,其他工具没有提供选项,您只能使用硬编码的哈希算法。两个例子是苹果的productsign,它当前在生成的签名之一中使用SHA-1,以及微软的VBA宏签名,它在后台使用MD5。并非所有KMS产品都支持所有这些算法,因此在它们支持之前,您将无法使用这些算法进行签名,而且您的密钥将无用(大多数仅支持SHA-256、SHA-384和SHA-512,尽管Azure Key Vault支持RSNULL,可以绕过此限制)。
对于密钥认证,根据CA的不同,您可能需要为密钥提供链到硬件信任根的认证,只有部分HSM/KMS提供商支持此功能。其他CA可能允许您远程展示云环境(例如通过Zoom或其他方式),以证明密钥受到硬件保护,而其他CA则只需要您签署一份声明文件,说明您的密钥受到保护。
价格是下一个明显的因素。有些收费是按小时(或其他时间单位)计算HSM的使用时间,而大多数KMS选项则按密钥和使用次数收取少量费用。通常情况下,如果您只有少量的密钥,那么KMS选项之一将是更便宜且更简单的选择。但是一旦密钥数量增加,专用HSM可能会更具成本效益。
选择加密设备后,您需要将签名工具与其集成。这是通过加密提供程序完成的。提供程序是特定于您正在签名的平台的。例如,在Windows上,您需要一个KSP(或遗留系统的CSP),Java / Android需要JCE提供程序,macOS使用CTK提供程序,OpenSSL使用Engine框架(尽管在最新版本中发生了变化),Linux使用GPG和PKCS11的混合使用等等。一些HSM提供了一些加密提供程序,但并非全部。KMS选项根本没有它们,您必须编写自己的代码。
然后,还有身份验证/授权、性能、审计等问题。最终,您会发现自己希望通过身份提供者(例如Active Directory,Azure等)进行身份验证/授权,希望使用客户端哈希来提高性能,希望满足各种审计要求等。因此,出于这些原因和其他原因,我们使用一个名为GaraSign的工具来处理所有这些内容,它可以为我们提供所需的一切。这是他们的代码签名页面

2

SSL.com还提供远程签名服务,用于其EV证书。这是一个名为eSigner的付费服务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接