0
我正在創建一個網站(與OpenResty,但我不認爲是相關的),它只接受客戶端證書驗證的HTTPS連接。我遵循http://www.integralist.co.uk/posts/clientcertauth.html來生成我自己的證書頒發機構,證書籤名請求和CRT。然後我測試了一下,當我去到一個URL與Python谷歌瀏覽器使用證書的網站
certName = "mycert"
cert = (certName + ".crt", certName + ".key")
response = requests.get(url, params=urlencode(payload), cert=cert, verify=False, stream=True)
現在我的網絡服務器正確地接受這個CRT,我試圖訪問來自谷歌Chrome相同的URL。我使用設置 - > HTTPS/SSL - >管理證書 - >導入導入我的CRT文件。但是,每當我轉到URL時,我總是收到400個錯誤請求 - 沒有發送所需的SSL證書。通過查看nginx錯誤日誌,我確認「客戶端沒有發送所需的SSL證書」
如何讓Chrome瀏覽器使用特定URL的證書?
對於客戶端身份驗證您所需要的證書和私鑰(在一個的CertStore條目)。該網頁傷害了我的眼睛,但它看起來像你使用openssl;如果是這樣,你可以使用openssl將私鑰和證書鏈合併到pkcs12(又名PFX)中,並將其導入Chrome使用的Windows商店中,請參閱http://stackoverflow.com/questions/808669/convert-a-cert- pem-certificate-to-a-pfx-certificate或http://stackoverflow.com/questions/553149/is-it-possible-to-convert-an-ssl-certificate-from-a-key-file-to- a-pfx –
請注意,這並不表示Chrome會將其用於「特定網址」;它將用於任何請求在此證書中使用CA名稱的證書的服務器。由於您顯然設置了自己的CA,可能只有您控制的服務器纔會使用該CA名稱申請證書。 –