目前,我对使用Microsoft的SignCode工具和证书(来自GlobalSign)签署EXE文件有一个有趣的问题......
因此,我们已经购买了新证书,因为现有证书将在短时间内到期。原始格式是JKS。我将此证书从.JKS导出到.CER,因此我可以在Root Trusted Certificates部分的本地计算机上安装。我安装了它,如果我打开certmgr.msc,我可以看到它,但是如果我打开控制面板 - >互联网选项 - >内容 - >证书 - > Root Trusted Certificates等然后我看不到它......我认为它也应该在这里。
当我运行signcode.exe工具时,我得到“无法使用正确的私钥打开csp提供程序”错误消息。
请注意! signcode.exe命令是正确的,因为它在我使用旧证书进行测试时有效。
请告知。
提前谢谢! 哔叽
答案 0 :(得分:1)
我已经阅读了一些有关证书的文档,并最终解决了问题。
我公司购买的JKS证书意外损坏。
我花了很多时间从JKS导出私钥,我已经要求管理员检查JKS并确认它已损坏。不知道它是如何腐败的...所以,我们得到了另一张很好的证书。
我建议所有处理证书(java密钥库等)的人使用KeyTool IUI。它简化了很多事情......
如果您需要将私钥导出到Windows兼容证书,我建议您阅读这篇文章 - http://travisspencer.com/blog/2009/10/exporting-keys-from-a-jks-and.html。
请注意,证书(包括私钥)应该安装在本地计算机上,而不是默认情况下安装在当前用户上。使用MMC命令执行此操作。
我希望这些信息对遇到同样问题的人有用。
此致 哔叽
答案 1 :(得分:1)
您可以使用Jsign解决此问题,它是与Java密钥库一起使用的符号代码工具的Java实现。无需转换证书。