我尝试谷歌并找到了一种使用osslsigncode程序签名的新方式。
我现在的问题是如何将证书从MS转换为osslsigncode格式。 所以现在我做这个步骤 永久有两个文件: cert.crt和key.blob 首先,我需要将它们转换为.pfx格式 我这样做:
openssl rsa -inform MS/PRIVATEKEYBLOB -in key.blob -outform PEM -out key.pem
openssl rsa -in key.pem -outform PVK -pvk-strong -out key.pvk
pvk2pfx -pvk key.pvk -pi 1234 -spc cert.crt -pfx cert.pfx
然后我可以用命令
签署我的软件signtool.exe sign /v /f cert.pfx /p 1234 soft.exe
你能告诉我使用osslsigncode程序需要做什么转换步骤吗?
答案 0 :(得分:4)
http://development.adaptris.net/users/lchan/blog/2013/06/07/signing-windows-installers-on-linux/为我工作......对原作者赞不绝口。
如果丢失了,相关的步骤是:
要进行签名,您基本上必须将密钥从密钥库[...]导出为PKCS12 / PFX文件,以便您可以使用openssl [...]进行转换。
openssl pkcs12 -in authenticode.pfx -nocerts -nodes -out key.pem
openssl pkcs12 -in authenticode.pfx -nokeys -nodes -out cert.pem
openssl rsa -in key.pem -outform DER -out authenticode.key
openssl crl2pkcs7 -nocrl -certfile cert.pem -outform DER -out authenticode.spc
osslsigncode -spc authenticode.spc -key authenticode.key -t http://timestamp.verisign.com/scripts/timstamp.dll -in install.exe -out install-signed.exe