Microsoft Authenticode 代码签名 (EV) + Google Cloud HSM?

问题描述 投票:0回答:2

我们公司在 eToken usb 加密狗上使用 EV 代码签名证书,但我们目前正计划将我们的构建和签名程序移动到云中的虚拟服务器,一切都很好,除了一件事,它是代码签名过程,GlobalSign 允许存储证书在 USB 加密狗或 HSM 上。我认为 HSM 可以胜任这项工作,有人可以建议云 HSM 的最佳实践吗?我发现,谷歌云提供 Google Cloud HSM 但如何连接

signtool.exe
与此服务?

google-cloud-platform code-signing hsm
2个回答
0
投票

首先,您需要按照此处的步骤在 Google Cloud KMS 中创建 HSM 支持的密钥:

gcloud kms keys create ${KEY_NAME} \
    --keyring ${KEY_RING} \
    --location ${LOCATION} \
    --purpose "encryption" \
    --protection-level "hsm"

然后您可以使用这个 PKCS #11 模块 - 最近由谷歌发布 - 以及支持此 API 的任何工具,如 osslsigncode:

osslsigncode sign \
    -pkcs11engine /path/to/system/pkcs11.so \
    -pkcs11module google-kms-pkcs11-module.so \
    -cert certificate.crt \
    -key "pkcs11:token=${KEY_NAME};object=key" \
    -n "Your App Name" -in yourapp.exe -out yourapp-signed.exe

还没有测试过这个命令,但根据我的经验,osslsigncode 与 pkcs11-proxy 一起工作得很好,这是另一个 PKCS #11 模块,用于使用通过网络插入另一台机器的令牌进行 EV 代码签名。

尽管上面的命令是使用“Linux 语法”编写的,但 osslsigncode 和 Google KMS 模块也在 GitHub 上发布了预编译的 Windows 二进制文件。


-5
投票

目前没有办法做到这一点。如果您的 EV 证书位于物理加密狗上,则需要在本地网络上设置物理构建代理来处理构建的签名部分。

这不应该给您的构建带来太多负担,因为生产签名只应在可发布代码上执行。

© www.soinside.com 2019 - 2024. All rights reserved.