自簽名證書:就是 指的根證書,就是頒發(fā)者:和頒發(fā)給: 是相同的。證書的簽名是用證書里的公鑰對應(yīng)的私鑰進(jìn)行的簽名。這樣的證書除非是受信任的頒布機(jī)構(gòu)頒發(fā)f,一般是不被第三方信任。一般用于內(nèi)部使用及測試使用。
下面介紹生成證書的方法:
1. 生成私鑰
要創(chuàng)建SSL證書,需要私鑰和證書簽名請求(CSR)。您可以使用一些生成工具或向CA申請生成私鑰,私鑰是使用RSA和ECC等算法生成的加密密鑰。生成RSA私鑰的代碼示例:
openssl genrsa -des3 -out server.key 2048,隨后該命令會提示您輸入口令。
生成的server.key為加密私鑰文件,私鑰就保存在這個文件內(nèi),一般文件內(nèi)的私鑰已被加密,只有通過口令才能得到原私鑰。
genrsa:?用于生成RSA私鑰? ?-des3:表示加密算法(生成的私鑰為了安全要進(jìn)行加密),這里選擇des3算法和(根據(jù) 口令,鹽值,迭代次數(shù) 推算出來對稱加密密鑰)對私鑰做對稱加密。生成私鑰時不帶加密算法時,就不會提示讓輸入口令(即密碼)。-out?server.key 指生成的私鑰文件 1024指生成的私鑰長度,還可以選2048,4096,默認(rèn)是1024。
可選擇的生成加密私鑰的算法
為了私鑰安全最好選擇2048位的密鑰長度。
2.生成CSR
私鑰生成后,您的私鑰文件現(xiàn)在將作為 server.key 保存在您的當(dāng)前目錄中,并將用于生成CSR(因為csr這個里面包含公鑰,所以這里需要私鑰來生成對應(yīng)的公鑰)。自簽名證書的CSR的代碼示例:openssl req -nodes -new -key server.key -out server.csr。然后需要輸入幾條信息,包括組織、組織單位、國家、地區(qū)、城市和通用名稱。通用名稱即域名或IP地址。
輸入此信息后,server.csr 文件將位于當(dāng)前目錄中,其中包含 server.key 私鑰文件。
?3. 頒發(fā)證書
最后,使用server.key(私鑰文件)和server.csr 文件生成新證書(.crt)。以下是生成新證書的命令示例:openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt。最后,在您的當(dāng)前目錄中找到server.crt文件即可。
雙擊打開上面的文件。
?
?開始的時候生成私鑰時選擇的密鑰長度是1024,所以這里對應(yīng)的公鑰的長度也是1024。為了安全一般都是用2048。
這里先生成私鑰,然后根據(jù)私鑰生成對應(yīng)的公鑰,(但比如cer證書之類的是先生成一對密鑰,即公鑰和私鑰,然后再申請證書,這里生成SSL證書有點(diǎn)不同)生成的公鑰在server.crt證書內(nèi)。根據(jù)私鑰可以推出公鑰。但是根據(jù)公鑰不可以推出私鑰。這就是為啥公鑰是可以公開的。但是私鑰一定要安全保存。
文章來源:http://www.zghlxwxcb.cn/news/detail-416472.html
這樣我們就是可以nginx上使用了,具體設(shè)置看https://blog.csdn.net/adminstate/article/details/128659665?文章來源地址http://www.zghlxwxcb.cn/news/detail-416472.html
到了這里,關(guān)于通過openSSL生成自簽名的SSL證書的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!