答案1
经过大量研究,我认为问题在于,最近 Chrome (58) 和 Firefox (48) 现在都要求证书指定它们在SubjectAltName 字段中应用的主机名;主题字段中的值将被忽略。更多信息请点击这里: https://textslashplain.com/2017/03/10/chrome-deprecates-subject-cn-matching/。此外,如果您想在 1:24:00 左右听到声音解释,Steve Gibson 对此做了很好的解释: 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 会很高兴
答案2
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -subj "/C=US/ST=Oregon/L=Portland/O=Company Name/OU=Org/CN=www.example.com"
将“subj”替换为您想要的名称
答案3
我知道这不一定是您确切问题的正确答案,但您可能没有理由在以下情况下使用自签名证书让我们加密存在。它们是完全免费的证书服务,您收到的证书的功能几乎与您从其他地方(即 Comodo)获得的证书相同。另外,正如 Fox 评论的那样,不要通过 IP 连接;如果您使用 SSL/TLS 连接到服务器,并且它使用的证书不包含您连接到的地址(即两个主机名指向同一台计算机,但证书上只有一个。您连接到的不是在证书上),您的浏览器将报告连接不安全。