在Jenkins中使用HSM可以进行代码签名吗?

fquxozlt  于 2023-04-05  发布在  Jenkins
关注(0)|答案(1)|浏览(173)

我们使用Jenkins在我们的Windows服务器中进行构建和签名
最近我们的代码签名提供商停止了销售/续订,我们不得不寻找另一个提供商,但似乎所有证书现在都是令牌(USB,硬件)。所以我们决定获得EV证书来解决Microsoft SmartScreen警告。
由于Jenkins在云虚拟机中,我无法在那里获得令牌,我们必须在本地进行构建,现在它即将到期,我一直在寻找解决方案,似乎HSM可能是由云提供商(如 Azure)托管令牌/证书的解决方案,然后使用它(以某种方式?)对文件进行签名
我还遇到了一个云签名服务,这是明确的,但要贵得多!(除非我不明白HSM成本!)
1.有人能解释一下HSM如何在Azure/Jenkins中进行代码签名吗?
1.如果我给予EV而回到标准证书,这个过程可以很容易地自动化吗
1.还有其他建议吗

a11xaf1n

a11xaf1n1#

HSM是一个拥有多个私钥的硬件设备,它可以是USB密钥,扩展卡或机架式服务器。大多数云提供商都可以为您托管HSM。您可以完全访问底层硬件(比如AWS CloudHSM,非常昂贵),或者你也可以只通过专用的API生成和使用密钥(Azure Key Vault,Google Cloud KMS,AWS KMS,DigiCert ONE,更便宜但不便宜)。
证书颁发机构接受为云提供商生成的密钥提供证书,但该过程因CA和云提供商而异:

  • 一些CA提供自己的签名服务(SSL.com eSigner、DigiCert ONE)
  • 其他则与云提供商紧密集成(例如DigiCert支持Azure Key Vault)
  • 在其他情况下,CA组织一个密钥生成仪式,由审计员远程见证密钥的正确生成(相当昂贵)

一旦你有了证书,你就可以使用Jsign,它支持开箱即用的主要云密钥管理服务。
另外值得一提的是,如果云提供商的账单是一个问题,您也可以使用PKCS#11 forwarding远程使用USB令牌。

相关问题