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

正規的證書須要向CA機構申請,通常流程爲:先生成一個私鑰,而後用私鑰生成證書請求(證書請求裏應含有公鑰信息),再利用證書服務器的CA根證書來簽發證書。可是向CA申請證書一般難免費,咱們能夠經過openssl自簽名的形式生成ssl證書,實現https訪問效果,.crt結尾的是證書文件,.key結尾的是密鑰文件,.csr結尾的是證書請求文件。node

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地址,根據實際狀況,按照上述樣式繼續添加git

 

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方式訪問咱們的網站了。服務器

相關文章
相關標籤/搜索