Openssl
我的 SSL 證書有什麼問題?
我在https://ds-client.demo.e-it.nz有一個帶有我自己的 CA (EIT-CA-G2) 簽名的 SSL 證書的 Nginx 伺服器
出於某種原因,我的 Chrome 61 和SSL Labs測試員都抱怨名稱不匹配。鉻 說:
NET::ERR_CERT_COMMON_NAME_INVALID Subject: ds-client.demo.e-it.nz Issuer: EIT CA G2 Root Expires on: 16 Oct 2022 Current date: 12 Oct 2017
而 SSL Labs 說:
SSL Report: ds-client.demo.e-it.nz (52.62.59.234) Certificate name mismatch Try these other domain names (extracted from the certificates): ds-client.demo.e-it.nz
有趣的是,他們並沒有抱怨不受信任的證書,而是抱怨名稱不匹配。我已經在 Chrome 證書儲存中導入了 CA Root,所以無論如何它都應該被信任。
我看不出有什麼區別——URL 上寫著 ds-client.e-it.co.nz,證書上寫著同樣的內容。怎麼了??
作為記錄,Mozilla Firefox 56 打開站點時沒有任何抱怨(在其商店中也有根證書)。
以下是網站和 CA 證書:
- http://ds-client.demo.e-it.nz/ssl/ds-client.pem.txt
- http://ds-client.demo.e-it.nz/ssl/EIT-CA-G2.pem.txt
證書有什麼問題?
您的證書缺少X509v3 主題備用名稱擴展。範式在某個時候發生了變化,CN 不再用於驗證主機名。
您可以在Google上搜尋如何修改 openssl 配置的材料,以便將此副檔名添加到證書中。
我在您的證書中看到:
CN=ds-client.demo.e-it.nz/emailAddress=hostmaster@enterpriseit.co.nz
據我所知,它一定是
CN=ds-client.demo.e-it.nz
對我來說,這是你問題的原因