如何借助Google Cloud KMS签名ClickOnce清单文件(.application/.manifest)
使用Google Cloud KMS签名ClickOnce清单的问题
当前配置
- 证书:Sectigo提供的代码签名证书(.crt格式)
- 私钥:存储于Google Cloud KMS,无法导出
- 签名工具:jsign 7.1(对.exe文件签名正常)
可正常执行的签名操作
针对setup.exe的签名命令:
java -jar jsign-7.1.jar \ storetype GOOGLECLOUD \ keystore "projects/my-project/locations/global/keyRings/code-signing-ring" \ storepass "$(gcloud-auth-access-token)" \ alias "code-signing-key" \ certfile chain.crt \ tsaurl http://timestamp.sectigo.com \ setup.exe
执行结果:setup.exe和TestApp1.exe.deploy签名正常,Windows属性中可显示数字签名。
无法执行的签名操作
针对TestApp1.application的签名命令:
java -jar jsign-7.1.jar \ storetype GOOGLECLOUD \ keystore "projects/my-project/locations/global/keyRings/code-signing-ring" \ storepass "$(gcloud-auth-access-token)" \ alias "code-signing-key" \ certfile chain.crt \ tsaurl http://timestamp.sectigo.com \ TestApp1.application
执行结果:报错“jsign: Unsupported file: TestApp1.application”
核心问题
- jsign不支持ClickOnce清单文件(.application、.manifest)
- Microsoft工具(SignTool、Mage)需要.pfx格式文件
- Google Cloud KMS私钥按设计无法导出
- 无KMS私钥无法创建.pfx文件
已尝试的方案
- 使用SignTool:因缺少.pfx文件无法完成签名
- 转换证书:缺少KMS私钥无法生成.pfx文件
咨询问题
- 是否存在使用Google Cloud KMS签名ClickOnce清单文件的可行方法?
- 是否有支持KMS托管证书的清单签名替代工具?
目标
在私钥安全存储于Google Cloud KMS的前提下,完成ClickOnce部署所有组件的签名,恳请提供工具、流程或变通方案指导!
内容的提问来源于stack exchange,提问作者Dilhan
相关产品推荐
相关产品推荐

