正規的證書須要向CA機構申請,通常流程爲:先生成一個私鑰,而後用私鑰生成證書請求(證書請求裏應含有公鑰信息),再利用證書服務器的CA根證書來簽發證書。可是向CA申請證書一般難免費,咱們能夠經過openssl自簽名的形式生成ssl證書,實現https訪問效果,.crt結尾的是證書文件,.key結尾的是密鑰文件,.csr結尾的是證書請求文件。node
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
openssl req -x509 -newkey rsa:2048 -out MyCA.crt -outform PEM -keyout MyCA.key -days 3650 -verbose -nodes -sha256
注:運行上述命令後,須要根據提示輸入信息,隨意填寫,可是要記住填的內容瀏覽器
openssl req -newkey rsa:2048 -keyout MyServer.key -out MyServer.csr -sha256 -nodes
注:根據提示填寫安全
openssl x509 -req -CA MyCA.crt -CAkey MyCA.key -in MyServer.csr -out MyServer.crt -days 3650 -extfile ext.ini -sha256 -set_serial 0x1111
一般瀏覽器中內置了CA根證書,可是咱們的CA證書是利用openssl本身製做的的,因此須要手動導入。以Chrome瀏覽器爲例,咱們先點擊右上角三個·,而後依次點擊‘設置’,‘隱私設置和安全性’,‘安全’,‘管理證書’,‘受信任的根證書頒發機構’,‘導入’,而後將MyCA.crt導入便可,接下來就能夠經過瀏覽器以https方式訪問咱們的網站了。服務器