我已经用openssl创建了自己的ca证书。我有四个文件:
- ca.key(私有ca密钥(
- ca.crt(公共ca证书(
- server.key(私钥(
- server.crt(由ca文件签名的公共证书(
我使用带有ssl配置的nginx。
ssl_certificate server.crt;
ssl_certificate_key server.key;
如果我在电脑上安装了ca公共证书,我的浏览器会让我在网站上不添加例外,这很好。但如果我的计算机上没有安装ca证书,我必须添加异常才能通过。我想避免添加异常,并强制用户在他们的计算机上安装ca证书。
我用hsts(http严格传输安全(配置nginx:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate ca.crt;
不幸的是,我再次有可能添加一个异常来通过。
我想知道是否可以这样做?
我意识到我的证书不适用于chromemissing_subjectAltName
。所以我用这个链接修复了它。现在,如果我的ca证书没有安装在我的计算机上,我会收到一条带有chrome的消息:
您现在不能访问localhost,因为该网站使用HSTS。网络错误和攻击通常是暂时的,因此此页面稍后可能会正常工作。
这正是我想要的。然而,它在firefox上不起作用,让我有可能添加一个异常。
为什么chrome阻止它而不是firefox?我怎么能在firefox上也这样做?