Chrome
證書名稱“不匹配”錯誤
我的 Apache2 伺服器上有一個自簽名證書,我正在嘗試正確配置,以使證書上的“頒發給:”名稱與地址欄中的 HTTPS 地址相匹配。我收到以下安全錯誤:
The certificate for this site does not contain a Subject Alternative Name extension containing a domain name or IP address There are issues with the site's certificate chain (net::ERR_CERT_COMMON_NAME_INVALID)
經過大量研究,我認為問題在於最近 Chrome (58) 和 Firefox (48) 現在都要求證書在 SubjectAltName 欄位中指定它們應用的主機名;主題欄位中的值將被忽略。更多資訊在這裡: https ://textslashplain.com/2017/03/10/chrome-deprecates-subject-cn-matching/ 。此外,史蒂夫吉布森很好地解釋了這一點,如果你想在 1:24:00 左右聽到解釋: https ://twit.tv/shows/security-now/episodes/610?autostart=false 。
綜上所述,對於那些創建自簽名證書的人,我們現在需要採取額外的步驟 - 添加主題備用名稱(SAN 欄位)。這一切都在這裡: https ://stackoverflow.com/questions/10175812/how-to-create-a-self-signed-certificate-with-openssl/27931596#27931596 ;然而,這是一個漫長的過程,有很多答案。基本上這一切都歸結為 JWW 給出的答案,您必須創建一個包含 subjectAltName 欄位的配置文件,然後將其傳遞如下:
openssl req -config example-com.conf -new -x509 -sha256 -newkey rsa:2048 -nodes \ -keyout example-com.key.pem -days 365 -out example-com.cert.pem
JWW 回答的提示中有一個很好的配置文件範例。查找:“配置文件(通過 -config 選項傳遞)”
現在您的證書將有一個 subjectAltName 並且 Chrome 和 Firefox 會很高興