方法一:
1.key的生成
1 |
openssl genrsa -des3 -out server.key 2048
|
这样是生成rsa私钥,des3算法,openssl格式,2048位强度。server.key是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。
2. 生成CA的crt
1 |
openssl req -new -x509 -key server.key -out ca.crt -days 3650
|
生成的ca.crt文件是用来签署下面的server.csr文件。
3. csr的生成方法
1 |
openssl req -new -key server.key -out server.csr
|
需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书。
4. crt生成方法
CSR文件必须有CA的签名才可形成证书,可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢。
1 |
openssl x509 -req -days 3650 - in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
|
输入key的密钥后,完成证书生成。-CA选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥,-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成。
最后生成了私用密钥:server.key和自己认证的SSL证书:server.crt
证书合并:
1 |
cat server.key server.crt > server.pem
|
方法二:
/确定是否安装openssl
which openssl
//如果没有安装,通过apt-get或者yum等方式安装即可
sudo apt-get install openssl
//生成一个名为“ssl.key”的 RSA key文件:执行结果:生成ssl.pass.key 和 ssl.key
openssl genrsa -des3 -passout pass:1234 -out ssl.pass.key 2048
openssl rsa -passin pass:1234 -in ssl.pass.key -out ssl.key
//删除中间文件
rm ssl.pass.key
接着,利用已经生成的 ssl.key 文件,进一步生成 ssl.csr 文件:
openssl req -new -key ssl.key -out ssl.csr
执行此行命令会提示输入密码,按回车即可,因为前面我们在生成 ssl.key 时选择了密码留空。 最后我们利用前面生成的 ssl.key 和 ssl.csr 文件来生成 ssl.crt 文件,也就是自签名的 SSL 证书文件:
openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt
这一步之后,我们得到一个自签名的 SSL 证书文件 ssl.crt,有效期为 365 天。此时,ssl.csr 文件也已经不再被需要,可以删除掉了:
标签:https,license,openssl,server,ssl,key,生成,crt From: https://www.cnblogs.com/rebrobot/p/16774606.htmlrm ssl.csr
123123
参考:
http://t.zoukankan.com/elijahxb-p-14454210.html
http://www.manongjc.com/detail/25-viatcytpzhxrcvb.html