在网上申请证书:
https://myssl.com/create_test_cert.html
然后会得到若干文件:
图1,网络上生成的测试证书相关文件
接下来我们需要用到OpenSLL来通过cret.pem和full_chain.pem来生成自带密码的认证证书xxx.pfx
打开OpenSSL:
输入:
OpenSSL> pkcs12 -export -out eosin_sky.pfx -inkey private.key -in cert.pem
会两次提示输入密码 之后生成证书。
图2,使用openssl生成自签名证书
---------------
如果自己不愿意去网络上生成测试证书也可以用OpenSSL生成:
输入相关指令:
1、生成.key文件
OpenSSL>genrsa -des3 -out server.key 2048
中间会提示输入密码(重复输入两次),要记住这个密码;
在工作目录下生成server.key文件。
2、生成.crt文件
OpenSSL>req -new -x509 -key server.key -out server.crt -days 3650
会提示输入server.key的密码
开始输入Country Name:CN
State or Province Name:SH
Locality Name:shanghai
Organization Name:这个可以忽略
Organizational Unit Name:这个可以忽略
Common Name:这个可以忽略
Email Address:填写一个非QQ的邮箱地址
在工作目录下生成server.crt文件。
3、生成.pfx文件
OpenSSL>pkcs12 -export -out server.pfx -inkey server.key -in server.crt
提示输入server.key文件的密码
提示输入即将生成的.pfx文件的密码(需要输入两次)
在工作目录下生成server.pfx文件。
有了pfx文件我们就可以进行数字签名了。
下载“signtool.exe”这个文件,一般装了.net framework系统都自带的
然后输入指令
signtool.exe sign /f F:\WorkSpace2.0\VSProject\CustomerWebProtocolHandler\签名工具\测试证书\eosin_sky.pfx /p "123" /t http://timestamp.comodoca.com/authenticode F:\myfuc.exe
就会对F:\myfuc.exe进行数字签名。
到此就完成了整个过程。