手把手教如何制作数字证书并进行程序的数字签名

在网上申请证书:

https://myssl.com/create_test_cert.html

 

然后会得到若干文件:

手把手教如何制作数字证书并进行程序的数字签名_第1张图片

图1,网络上生成的测试证书相关文件

 

接下来我们需要用到OpenSLL来通过cret.pem和full_chain.pem来生成自带密码的认证证书xxx.pfx

打开OpenSSL:

输入:

OpenSSL> pkcs12 -export -out eosin_sky.pfx -inkey private.key -in cert.pem

会两次提示输入密码 之后生成证书。

手把手教如何制作数字证书并进行程序的数字签名_第2张图片

图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进行数字签名。

 

到此就完成了整个过程。

 

 

你可能感兴趣的:(拓展,openssl,cert证书,数字证书,数字签名)