Chrome 返回 ERR_NOT_IMPLMENTED

Chrome 返回 ERR_NOT_IMPLMENTED

我有一個需要 mTLS(客戶端憑證驗證)的 https 伺服器。當我嘗試在 Windows 10 上使用 Chrome(版本 75.0.3770.100(官方版本)(64 位元))存取伺服器時,它要求我選擇客戶端憑證(我這樣做了)。之後 chrome 傳回 ERR_NOT_IMPLMENTED。

附加資訊:

  • 我可以使用 IE11、Edge 和 Firefox 中的相同 URL 存取伺服器
  • 建立對伺服器憑證的信任 CA 憑證(將 CA 匯入受信任的根憑證授權單位儲存)。連線在 IE 中被標記為安全。
  • 擷取的 chrome 網誌。我可以在這裡找到問題:
t=3200 [st=10]      SSL_HANDSHAKE_MESSAGE_RECEIVED
                    --> bytes =
                      0E 00 00 00                                        .   
                    --> type = 14
t=3200 [st=10]      SSL_CLIENT_CERT_REQUESTED
t=3201 [st=11]      SSL_HANDSHAKE_ERROR
                    --> error_lib = 16
                    --> error_reason = 228
                    --> file = "../../third_party/boringssl/src/ssl/ssl_cert.cc"
                    --> line = 242
                    --> net_error = -11 (ERR_NOT_IMPLEMENTED)
                    --> ssl_error = 1
t=3201 [st=11]   -SSL_CONNECT
                  --> net_error = -11 (ERR_NOT_IMPLEMENTED)
t=3201 [st=11]    SOCKET_CLOSED

ssl_cert.cc:242我查看了BoringSSL的源代碼https://github.com/google/boringssl/blob/d6f9c359d219055a89c676cb8886421b145a08da/ssl/ssl_cert.cc#L242

這裡的相關程式碼似乎是:

bool ssl_is_key_type_supported(int key_type) {
  return key_type == EVP_PKEY_RSA || key_type == EVP_PKEY_EC ||
         key_type == EVP_PKEY_ED25519;
}

或者換句話說。如果它是 RSA 證書,則該函數應傳回 true,並且不應導致上述錯誤。

知道這裡出了什麼問題嗎?

謝謝。

相關內容