https運做流程:html
.key格式:私有的密鑰
.csr格式:證書籤名請求(證書請求文件),含有公鑰信息,certificate signing request的縮寫
.crt格式:證書文件,certificate的縮寫
.crl格式:證書吊銷列表,Certificate Revocation List的縮寫
.pem格式:用於導出,導入證書時候的證書的格式,有證書開頭,結尾的格式git
ca根證書:算法
生成CA私鑰(.key)-->生成CA證書請求(.csr)-->自簽名獲得根證書(.crt)(CA給自已頒發的證書)。安全
用戶證書生成步驟: 生成私鑰(.key)-->生成證書請求(.csr)-->用CA根證書籤名獲得證書(.crt)服務器
服務器端用戶證書:session
Organization Name (eg, company) [Internet Widgits Pty Ltd]: ca,服務端,客戶端寫成不同便可dom
Common Name (e.g. server FQDN or YOUR name) []: 填寫生成證書的域名加密
客戶端證書:.net
生成pem格式證書:
有時須要用到pem格式的證書,能夠用如下方式合併證書文件(crt)和私鑰文件(key)來生成 server
$cat client.crt client.key> client.pem
$cat server.crt server.key > server.pem
結果:
服務端證書:ca.crt, server.key, server.crt, server.pem
客戶端證書:ca.crt, client.key, client.crt, client.pem
注意:
在執行$openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key時可能會出錯:
Using configuration from /usr/share/ssl/openssl.cfg I am unable to access the ./demoCA/newcerts directory ./demoCA/newcerts: No such file or directory
解決方法:
1)mkdir -p ./demoCA/newcerts
2)touch demoCA/index.txt
3)touch demoCA/serial
4)echo 01 > demoCA/serial
參考:https://blog.csdn.net/moonhillcity/article/details/52768218
https://www.cnblogs.com/liyulong1982/p/6106129.html