SSL 證書在 chrome 中工作,但不能在 openssl s_client 或 curl 中工作
幾天前,Google chromes 更新到 58 版開始使我的自簽名證書失效。它在抱怨失踪
subjectAltNames
。我做了一些研究並嘗試了一些建議(這不起作用),但後來發現了這篇文章,這是我唯一可以工作的。還是我?
Yay chrome 現在正在接受我新生成和導入的證書,我正在路上,
直到,我在我的
PHP
網路應用程序中點擊了一個頁面,該頁面需要從同一開發機器上的另一個微網路服務載入數據。stream_socket_client():SSL 操作失敗,程式碼為 1。OpenSSL 錯誤消息:錯誤:14090086:SSL 常式:ssl3_get_server_certificate:
我已經在Google上搜尋和修改了大約 4 個小時,但我無法理解它。
問題
為什麼 chrome 接受我的證書。但是工具之類
curl
的,openssl s_client
都給我unable to verify the first certificate
還是invalid certificate
?我嘗試將證書作為參數傳遞,但顯然仍然無效。使用 curl 和 openssl 調試將證書文件作為參數傳遞繼續給我這個錯誤
SSL 證書驗證結果:無法獲取本地頒發者證書(20),
我想我會在一天結束時完全禿頂。
筆記
- 虛擬機是我的本地開發環境,所以我確實有多個域具有自己的證書和密鑰
- 虛擬機位於 IP 192.168.33.10。意味著 chrome 沒有訪問本地主機。然而 curl 和 openssl s_clinet 正在嘗試訪問 locahost
- 伺服器是執行 ubuntu 14.04 的虛擬機
- 使用 MMC(Microsoft 管理控制台)在主機上安裝自簽名證書
- 錯誤肯定來自嘗試訪問 Web 服務的客戶端類。
- 我嘗試將證書作為參數傳遞,但顯然仍然無效。
- 我完全知道我可以將 verify peer 設置為 false 或將 –insecure 傳遞給請求,但我沒有從中學到任何東西。
- SSL 會話:協議:TLSv1.2
- 跑去
sudo dpkg-reconfigure ca-certificates
更新證書- 跑了
sudo update_ca_ccertificates
- 我已經達到挫敗等級9000
恢復更新
我重新生成了一個關閉 v3 擴展的新證書,並且 Back to chrome 告訴我
subjectAltName
失去但 curl 正在工作。我需要弄清楚如何生成 curl 和 chrome 都可以接受的證書。
找到了一個更清晰的教程,它的
openssl.conf
. 在我最初添加 s 的嘗試中,SAN
我必須在 conf 中有未註釋的額外行,這些行嚮導致衝突的證書添加額外資訊。遵循此模板,我的證書全面有效:[req] distinguished_name = req_distinguished_name req_extensions = v3_req [req_distinguished_name] countryName = Country Name (2 letter code) countryName_default = US stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = MN localityName = Locality Name (eg, city) localityName_default = Minneapolis organizationalUnitName = Organizational Unit Name (eg, section) organizationalUnitName_default = Domain Control Validated commonName = Internet Widgits Ltd commonName_max = 64 [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = kb.example.com DNS.2 = helpdesk.example.org DNS.3 = systems.example.net IP.1 = 192.168.1.1 IP.2 = 192.168.69.14
感謝您的評論@garethTheRed。您的評論幫助我重新思考了調試此問題的方法。
即使在這裡開始發帖也可以幫助我列出我嘗試過的內容,並幫助大腦想出更多可能的解決方案。