自签名OpenSSL证书流程
时间:2025-04-24
时间:2025-04-24
自签名OpenSSL证书流程
自签名OpenSSL证书流程
1.首先要生成服务器端的私钥(key文件):
openssl genrsa -des3 -out server.key 1024
运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!
去除key文件口令的命令:
openssl rsa -in server.key -out server.key
[生成过程中提示需要输入私钥的密码,现设为111111]
2.openssl req -new -key server.key -out server.csr -config http://www.77cn.com.cnf
生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.
[利用私钥生成CA的证书请求,在这个过程中,按步骤提示输入各种信息,注意前面国家、州等信息和以后生成客户端.csr文件等,需要填入的信息时,需要保持一致,否则验证会通不过]
Country Name(只能填2个字母) : cn
State or Province Name : sz
Locality Name : ns
Organization Name : vc
Organization Unit Name : odc
Common Name : rome
Email Address : rome80@http://www.77cn.com.cn(邮箱名可以不一样,可以区别不同的证书)
其中有一个A challenge password,不知道做什么用,填111111
An optional company name : milano
-config http://www.77cn.com.cnf是配置文件信息
在生成.csr和证书的.crt时,都要填入上述信息
3.对客户端也作同样的命令生成key及csr文件:
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr -config http://www.77cn.com.cnf
4.openssl genrsa -des3 -out ca.key 1024
[这步是自己加上去的,先生成ca的私钥]
自签名OpenSSL证书流程
5.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢.
openssl req -new -x509 -keyout ca.key -out ca.crt -config http://www.77cn.com.cnf
[这步要填入ca.key的密码--writing new private key to 'ca.key',填111111,这步同样要输入各种验证信息]
6.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:
Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config http://www.77cn.com.cnf Openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config http://www.77cn.com.cnf
[不知为何,我的配置文件在E:\soft\Openssl\ssl\http://www.77cn.com.cnf,实际上这是一个windows 的快速拨号连接。
需输入ca.key的密码,同时必须在当前目录有demoCA\newcerts的文件夹,否则不能生成成功]
!!!!
需在openssl目录下,手动生成demoCA\newcerts文件夹,而且在demoCA下手动生成两个文件,index.txt和serial文件,index.txt文件为空,serial文件下填01,原因未知???
[有3个地方需要填入验证信息:1.2.客户端、服务端利用私钥
生成请求时;3.自己生成CA时]