如何利用openssl生成自簽名ssl證書?


正規的證書需要向CA機構申請,一般流程為:先生成一個私鑰,然后用私鑰生成證書請求(證書請求里應含有公鑰信息),再利用證書服務器的CA根證書來簽發證書。但是向CA申請證書通常不免費,我們可以通過openssl自簽名的形式生成ssl證書,實現https訪問效果,.crt結尾的是證書文件,.key結尾的是密鑰文件,.csr結尾的是證書請求文件。

1.創建簽發CA根證書的配置文件ext.ini

basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = www.test.com DNS.2 = *.test.com IP.1 = 127.0.0.1 IP.2 = 192.168.127.33

注:alt_names中既可以填域名,也可以填ip地址,根據實際情況,按照上述樣式繼續添加

 

2.創建CA證書及密鑰

openssl req -x509 -newkey rsa:2048 -out MyCA.crt -outform PEM -keyout MyCA.key -days 3650 -verbose -nodes -sha256 

注:運行上述命令后,需要根據提示輸入信息,隨意填寫,但是要記住填的內容

 

3.創建ssl證書密鑰及請求文件

openssl req -newkey rsa:2048 -keyout MyServer.key -out MyServer.csr -sha256 -nodes

注:根據提示填寫

 

4.簽發ssl證書:

openssl x509 -req -CA MyCA.crt -CAkey MyCA.key -in MyServer.csr -out MyServer.crt -days 3650 -extfile ext.ini -sha256 -set_serial 0x1111

 

5.向瀏覽器中手動導入CA證書

通常瀏覽器中內置了CA根證書,但是我們的CA證書是利用openssl自己制作的的,所以需要手動導入。以Chrome瀏覽器為例,我們先點擊右上角三個·,然后依次點擊‘設置’,‘隱私設置和安全性’,‘安全’,‘管理證書’,‘受信任的根證書頒發機構’,‘導入’,然后將MyCA.crt導入即可,接下來就可以通過瀏覽器以https方式訪問我們的網站了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM