google-chrome - 在LocalHost上的自签名证书上的Chrome NET::ERR_CERT_AUTHORITY_INVALID错误

原文 标签 google-chrome ssl ssl-certificate

我正在尝试在本地PC上设置开发环境。由于生产网站支持HTTPS(如今谁又不支持?),因此我也希望在localhost上使用它。我以为会很容易,但是没有。

我已经安装了XAMP,并进行了所有设置,以便可以访问该网站。但是,每当我在本地访问网站上的任何页面时,都会收到chrome警告:

NET :: ERR_CERT_AUTHORITY_INVALID

我确实遵循以下线程来尝试解决它:

Getting Chrome to accept self-signed localhost certificate

我还基于以下内容创建了带有正确的“使用者备用名称”(SAN)部分的证书:

https://deliciousbrains.com/https-locally-without-browser-privacy-errors/

之后,我生成了CER或P7B文件并将其导入Chrome。我重新启动了Apache和Chrome。

我将证书放在受信任的根证书颁发机构中。 Chrome决定以某种方式将其放置在中级根证书颁发机构中...

我使用的是Chrome 61,而我使用的是60。

所以以某种方式我无法安装自签名证书,并不断收到此警告,这基本上使在localhost上的开发变得不可能...

我了解这种自签名并不完全值得信赖,但是必须有一种离线开发方法吗?从现在开始我们必须在线建立网站没有意义?...

有任何想法吗?

最佳答案

这是我使用KeyStore Explorer工具的说明。

创建证书时以前缺少的两件事是:


AKID(授权密钥标识符)-选择创建时使用的相同“ CN =“。
添加“基本约束”选项(不要选择“是CA”)


如果没有这两件事,即使您将自签名证书安装到MS-CAPI PKI信任存储区(作为“受信任的根颁发机构”)中,Chrome也会发出警告/错误。

这是我使用的步骤。


使用KSE的说明(KeyStore Explorer)
创建一个JKS
创建自签名证书
打开密钥库资源管理器
档案|新增| JKS |好
为您的JKS文件创建密码
档案|另存为... |输入密码
输入文件名|好
工具|生成密钥对
选择算法和密钥大小(即2048)|好
选择有效期(即5年)
选择名称(“书本”图标)|在名称字段中输入|好
即“ CN =本地主机…”
添加扩展名(非常重要),这确定了它将是哪种证书以及如何使用它。此示例将针对具有SSL的标准服务器证书。
添加“密钥用法”项
添加“数字签​​名和密钥加密”选项复选框
添加EKU(扩展密钥用法)选项
选择以下两个选项:
TLS Web客户端身份验证
TLS Web服务器身份验证
添加SAN(主题备用名称)
添加将为此服务器使用的所有必需的DNS名称和IP地址(如果适用)。 (重复输入所有所需的值)(例如127.0.0.1和localhost(或)
完成后看起来像这样
完成后,您将看到列出了所有带有OID(对象标识符)的字段。好的好
添加AKID(授权密钥标识符)
添加扩展名“ +”
添加扩展名类型|权限密钥标识符
选择您在上面创建的CN的授权证书颁发者(例如“ CN = localhost ...”)|好
添加“基本约束”(不要选中“对象是CA”)
完成后,您会看到以下内容:点击“确定”
注意:Chrome浏览器需要使用基本约束和AKID(授权密钥标识符),才能将自签名证书验证为受信任的证书。
否则,即使您已将该证书明确添加到MS-CAPI可信根证书中,也将看到警告或错误消息。
输入您要使用的密钥对名称的别名
输入私钥对密码
*注意:此密码必须与JKS文件密钥库密码相同,否则Java在尝试使用此证书时可能会静默失败。
您应该看到一条消息,指示成功。 |好
然后,保存文件|保存

相关文章:

java - 为什么不将信任锚添加到PKIX认证路径中?

ssl - 我可以在配置文件中指定多个x509FindTypes来检索SSL证书吗?

javascript - 一段时间后尝试打开新标签页窗口时被阻止

python - Flask电子邮件支持-发送电子邮件时获取SSLError [Errno 1]

ssl - 握手成功后,Netty Websocket SSL客户端无法正常工作

security - 保护Web服务器免受Safari中的MITM攻击

javascript - 使用Chrome将JavaScript文档附加到打开的网页上吗?

c# - Chrome打开一瞬间,然后使用Selenium Webdriver关闭

security - 如果没有其他浏览器,为什么Chrome会报告安全/不安全警告?

android - 卡在Android TV的Charles代理证书安装中