https的crt和key證書
x509證書一般會用到三類文,key,csr,crt。
Key 是私用密鑰openssl格,通常是rsa算法。
Csr 是證書請求文件,用於申請證書。在制作csr文件的時,必須使用自己的私鑰來簽署申,還可以設定一個密鑰。
crt是CA認證后的證書文,(windows下面的,其實是crt),簽署人用自己的key給你簽署的憑證。
1. key的生成
openssl genrsa -des3 -out server.key 2048
這樣是生成rsa私鑰,des3算法,openssl格式,2048位強度。server.key是密鑰文件名。為了生成這樣的密鑰,需要一個至少四位的密碼。
2. 生成CA的crt
openssl req -new -x509 -key server.key -out ca.crt -days 3650
生成的ca.crt文件是用來簽署下面的server.csr文件。
3. csr的生成方法
openssl req -new -key server.key -out server.csr
需要依次輸入國家,地區,組織,email。最重要的是會有一個common name,可以寫你的名字或者是ip地址或者是域名。如果為了https申請,這個必須和域名或者ip地址吻合,否則會引發瀏覽器警報。生成的csr文件交給CA簽名后形成服務端自己的證書。
4. crt生成方法
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
證書合並:
cat server.key server.crt > server.pem