使用openssl生成免费证书
下载openssl
使用openssl工具生成一个RSA私钥
#使用命令:
openssl genrsa -des3 -out server.key 2048
#输入密码:
Enter PEM pass phrase:123456
#再次输入密码:
Verifying - Enter PEM pass phrase:123456
des3 是算法,2048位强度(为了保密性)。 server.key 是密钥文件名 -out的含义是:指生成文件的路径和名称。
查看生成的私钥
#使用命令:
openssl rsa -text -in server.key
#输入密码:
Enter pass phrase for server.key:123456
创建证书签名请求CSR文件
#使用命令:
openssl req -new -key server.key -out server.csr
#输入国家代码,中国填写 CN
Country Name (2 letter code) [AU]:CN
#输入省份,这里填写 Guangzhou
State or Province Name (full name) [Some-State]:Guangzhou
#输入城市,我们这里也填写 Guangzhou
Locality Name (eg, city) []:Guangzhou
#输入组织机构(或公司名)
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
#输入机构部门
Organizational Unit Name (eg, section) []:
#输入域名
Common Name (e.g. server FQDN or YOUR name) []:
#你的邮箱地址
Email Address []:*****@.com
Please enter the following 'extra' attributes
to be sent with your certificate request
#你的证书密码,如果不想设置密码,可以直接回车
A challenge password []:123456
#输入可选的公司名称
An optional company name []:
如上操作后,会在当前目录下生成以下两个文件:
server.key server.csr
查看csr文件如下命令:
openssl req -text -in server.csr -noout
生成CA证书
#使用命令:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
#输入密码:
Enter pass phrase for server.key:123456
x509的含义: 指定格式
-in的含义: 指定请求文件
-signkey的含义: 自签名
注意:server.crt 是证书持有人的信息,持有人的公钥,以及签署者的签名等信息。
生成客户端证书
生成私钥
openssl genrsa -out client.key 2048
生成请求文件
openssl req -new -key client.key -out client.csr
发给ca签名
openssl x509 -req -days 365 -in client.csr -signkey client.key -out client.crt