生成https證書
阿新 • • 發佈:2021-08-17
x509證書一般會用到三類文,key,csr,crt
Key 是私用金鑰openssl格,通常是rsa演算法。
Csr 是證書請求檔案,用於申請證書。在製作csr檔案的時,必須使用自己的私鑰來簽署申,還可以設定一個金鑰。
crt是CA認證後的證書文,(windows下面的,其實是crt),簽署人用自己的key給你簽署的憑證。
1.key的生成
1 |
opensslgenrsa-des3-outserver.key2048
|
這樣是生成rsa私鑰,des3演算法,openssl格式,2048位強度。server.key是金鑰檔名。為了生成這樣的金鑰,需要一個至少四位的密碼。可以通過以下方法生成沒有密碼的key:
1 |
opensslrsa- in server.key-outserver.key
|
server.key就是沒有密碼的版本了。
2. 生成CA的crt
1 |
opensslreq-new-x509-keyserver.key-outca.crt-days3650
|
生成的ca.crt檔案是用來簽署下面的server.csr檔案。
3. csr的生成方法
1 |
opensslreq-new-keyserver.key-outserver.csr
|
需要依次輸入國家,地區,組織,email。最重要的是有一個common name,可以寫你的名字或者域名。如果為了https申請,這個必須和域名吻合,否則會引發瀏覽器警報。生成的csr檔案交給CA簽名後形成服務端自己的證書。
4. crt生成方法
CSR檔案必須有CA的簽名才可形成證書,可將此檔案傳送到verisign等地方由它驗證,要交一大筆錢,何不自己做CA呢。
1 |
opensslx509-req-days3650- in server.csr-CAca.crt-CAkeyserver.key-CAcreateserial-outserver.crt
|
輸入key的金鑰後,完成證書生成。-CA選項指明用於被簽名的csr證書,-CAkey選項指明用於簽名的金鑰,-CAserial指明序列號檔案,而-CAcreateserial指明檔案不存在時自動生成。
最後生成了私用金鑰:server.key和自己認證的SSL證書:server.crt
證書合併:
1 |
cat server.keyserver.crt>server.pem
|