Windows服务调用signtool.exe签名MSIX文件加载证书失败问题
Windows服务中调用signtool.exe签名MSIX失败问题
我在控制台应用中调用signtool.exe对MSIX文件签名一切正常,但在同一用户身份启动的Windows服务中调用时,出现如下错误:
SignTool Error: An error occurred while attempting to load the signing certificate from: C:\Users\Admin\AppData\Local\Temp\Sign\83ebf809-63a9-4aff-9fb1-19ecc4de7c98.msix
调用signtool时使用的完整命令:
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.20348.0\x64\signtool.exe" sign /v /a /n "My Org" /tr http://timestamp.globalsign.com/tsa/r6advanced1 /fd SHA256 /td SHA256 "C:\Users\Admin\AppData\Local\Temp\Sign\83ebf809-63a9-4aff-9fb1-19ecc4de7c98.msix"
我尝试过以下方法,均未解决问题:
- 直接指定证书
- 让signtool自动选择证书
- 使用公钥文件加载证书
可以确定的是,服务内能够访问目标证书:同一服务中的C#程序通过RSA签名功能,可正常使用该证书完成签名操作。
更新:最终解决方法是基于AzureSignTool源码编写自定义签名程序。
内容的提问来源于stack exchange,提问作者Aries
相关产品推荐
相关产品推荐

