首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YubiHSM代码-签名导出证书

YubiHSM代码-签名导出证书
EN

Stack Overflow用户
提问于 2022-02-15 10:02:03
回答 1查看 153关注 0票数 0

我遵循了使用YubiHSM密钥存储提供程序可用的这里生成代码签名证书的教程。使用certreq -new sign.inf sign.req创建证书签名请求(CSR)之后,将在YubiHSM中创建一个新的非对称密钥,以及该密钥与YubiHSM密钥存储提供程序(KSP)中的证书之间的关联。在此之后,我可以使用类似于signtool sign /sha1 <certificate hash> <binary name>的东西来签署我的二进制文件。

但是,当我导出此证书并将其导入到另一台计算机时,证书没有关联的私钥。输入certutil -repairstore my <certificate hash>是没有帮助的。据我所知,KSP只存储到YubiHSM的链接,而不是实际的私钥本身。所以我想我需要在KSP中以某种方式创建这个关联。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-22 14:07:49

最后,我设法解决了以下问题:在安装和配置YubiHSM KSP之后,安装导出的证书。安装证书后,请使用以下方法检查其有效性:

代码语言:javascript
复制
certutil -verifystore my <certificate hash>

如果仍然看不到已安装的证书,请使用以下方法手动添加该证书:

代码语言:javascript
复制
certutil -addstore -f "My" "MyCertificate.cer"

找到导入的证书后,需要手动将证书绑定到私钥。这是因为密钥没有与证书一起存储,而且Windows不会自动在两者之间创建关联。

代码语言:javascript
复制
certutil -repairstore my <certificate hash>

现在,您应该能够使用Key Container命令在certutil -verifystore字段中看到正确的键标签。

在此之后,您应该能够开始使用签名工具对二进制文件进行签名。但是,我必须添加/sm标志才能使其工作。

代码语言:javascript
复制
signtool sign /sm /a /n "<CertificateName>" /fd sha256 path-to-binary-to-sign.exe
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71124486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档