wsl創建證書讓chrome瀏覽器識別

我在wsl裡面測試http2協議的時候,在wsl用openssl創建了證書,

然後我把證書放在windows證書管理後,用chrome打開發現提示這個:

image

雖然可以點擊下面的強制 訪問

image

但是chrome會顯示

image

對於我這種有強迫症的是接受不了的。

研究了一下,原來是需要創建的證書得先在wsl的ubuntu系統裡面進行信任(我就是少了這個步驟)

下面是完整的操作步驟:

  1. 先創建一個目錄:

mkdir localhost

cd localhost

  1. 創建一個 localhost.conf文件
    vi localhost.conf
    並填入以下內容:
[req]
distinguished_name = req_distinguished_name
req_extensions     = req_ext
x509_extensions    = v3_ca

[req_distinguished_name]
commonName                  = Common Name (e.g. server FQDN or YOUR name)
commonName_default          = localhost
commonName_max              = 64

[req_ext]
subjectAltName = @alt_names
1.3.6.1.4.1.311.84.1.1=ASN1:UTF8String:Something

[v3_ca]
subjectAltName = @alt_names
basicConstraints = critical, CA:false
keyUsage = keyCertSign, cRLSign, digitalSignature,keyEncipherment

[alt_names]
DNS.1   = localhost
DNS.2   = 127.0.0.1

image

當它詢問Common Name時只需按 Enter,因為它默認為localhost

這個時候因為還沒有授信於ubuntu系統

image

下一步是確保 Ubuntu信任證書。

將公鑰複製到/usr/local/share/ca-certificates,
然後運行update-ca-certificates
這時候再驗證就ok拉

image

接下來就是根據剛剛創建的crt證書,轉存windows需要的PFX版本


openssl pkcs12 -export -out localhost.pfx -inkey localhost.key -in localhost.crt

image

這將要求輸入密碼,輸入並記住他

最後就是將這個證書添加到windows的證書管理器的受信任根域名證書裡面去

image

image

搞定後測試下

image

image