轉自:https://blog.csdn.net/Coding13/article/details/103787758
本地服務需要支援https服務的時候,之前最常用到的就是使用openssl生成自簽名證書來支援https。但是使用自簽名證書在浏覽器裡面就會遇到證書“不安全”的提示,為了解決證書“不安全”往往是煞費苦心。
現在在這裡為大家提供一個簡單使用的工具和方法,可以輕松實作本地服務支援https,而且是證書安全的https,徹底解決證書“不安全”!
這裡需要用到的工具就是mkcert:
1、首先去下載下傳mkcert的可執行程式。
2、windows下可以直接下載下傳可執行程式,然後将mkcert-v1.2.0-darwin-amd64 重命名為mkcert。
3、在指令行裡cd到mkcert所在的目錄,執行mkcert install,如下圖:
在截圖中可以看到,mkcert在install的過程中建立了CA憑證,建立到了“C:\Users\Administrator\AppData\Local\mkcert”目錄下,這裡暫記一下,後續會用。
4、接下來,我們就可以執行建立證書的指令了,指令可以如下:
mkcert localhost 127.0.0.1
這樣就會在mkcert.exe所在的目錄下生成我們的證書檔案了。其中,xxx.pem為證書,xxx-key.pem為私鑰,你也可以使用-cert-file和-key-file兩個參數設定生成檔案的檔案名。需要了解更多複雜操作的可以去github查找該項目了解更多。
5、這時候,将證書檔案放到我們的測試工程下就可以啟動https服務了。
6、到這裡我們在目前電腦的浏覽器直接調用我們本地服務的接口,就可以看到證書顯示為安全的了。
7、但是,如果我們的服務需要安裝到多個客戶的電腦上呢,這時候我們就需要找到第三步中生成的CA憑證了,使用指令行,或者編輯代碼将CA憑證按轉到客戶電腦的證書管理器中“受信任的根證書頒發機構”,我們的證書又是安全的了。
//win7系統 使用指令行将證書添加到受信任的根證書頒發機構的方法
set CUR_PATH=%CD%
certutil -addstore -f -enterprise -user root "ca.pem"
//win10系統 使用指令行将證書添加到受信任的根證書頒發機構的方法
certmgr.exe /c /add ca.pem /s root
mkcert github源碼:
https://github.com/FiloSottile/mkcert
mkcert 可執行程式下載下傳:
https://github.com/FiloSottile/mkcert/releases
————————————————
版權聲明:本文為CSDN部落客「Coding13」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/Coding13/article/details/103787758