簡體   English   中英

Openssl:錯誤“證書鏈中的自簽名證書”

[英]Openssl : error "self signed certificate in certificate chain"

當我使用 openssl API 驗證服務器證書(自簽名)時,出現以下錯誤:

1 次深度查找時出現錯誤 19:證書鏈中的自簽名證書

根據 openssl文檔,此錯誤 (19) 是

“X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:證書鏈中的自簽名證書 - 可以使用不受信任的證書構建證書鏈,但無法在本地找到根證書。”

為什么會出現這個錯誤? 我的服務器證書有問題嗎?

您有一個自簽名證書,因此默認情況下它不受信任,這就是 OpenSSL 抱怨的原因。 這個警告實際上是一件好事,因為這種情況也可能由於中間人攻擊而上升。

要解決此問題,您需要將其安裝為受信任的服務器。 如果它由不受信任的 CA 簽名,則您還必須安裝該 CA 的證書。

查看有關安裝自簽名證書的鏈接

這是驗證要由特定 CA 簽名的證書的單行:

openssl verify -verbose -x509_strict -CAfile ca.pem certificate.pem

這不需要在任何地方安裝 CA。

請參閱SSL 證書鏈捆綁包如何工作? 有關詳細信息和正確的證書鏈處理。

如果您正在運行Charles並嘗試構建容器,那么您很可能會收到此錯誤。

確保在proxy -> macOS proxy下禁用 Charles (macos) proxy -> macOS proxy

查爾斯是一個

HTTP 代理/HTTP 監視器/反向代理,使開發人員能夠查看其機器與 Internet 之間的所有 HTTP 和 SSL/HTTPS 流量。

所以任何類似的事情都可能導致同樣的問題。

錯誤的解決方法是在代碼頂部添加這一行:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

如果您使用 Postman 測試端點,只需 go 設置並禁用“啟用 SSL 證書驗證”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM