Chrome证书选择出现多次

Chrome Certificate Selection appears multiple times

我在内联网服务器中有一个启用了 ssl 的站点。它具有由有效 CA 颁发的官方服务器证书。然而它自上个月起就过期了。我使用 USB A3 令牌访问它。由于它已过期,我为其创建了一个安全例外。如果我使用 firefox,一切正常。

问题是当我尝试使用 Chrome 访问它时。我第一次访问时,它正确地提示我令牌密码,然后是证书选择对话框。但在那之后,它会在我输入的每个页面上不断显示认证选择弹出窗口(而不是令牌密码)。相反,它应该询问一次并将证书选择缓存到其他页面,就像 firefox 一样。

该站点使用 Apache、PHP、Symfony 和 PostgreSQL。它有一个 apache 重定向规则将 /domainname.com/site/app.php/ 转换为 /domainname.com/site/

有人知道这是为什么吗?

找到了:

This问题提到了我想要的配置。但它没有说明如何使用它。 我发现此页面 here, explains how to configure policies for Chrome/Chromium. Now, in Chrome discussion forum (here),我发现在 Linux 中 Chrome 和 Chromium 使用相同的策略目录 (/etc/opt/chrome/policies/managed)。如果您将有效的策略文件放在那里,它将加载它。所以仔细检查有效性。它必须是 json 格式,如模板所示。因此,请记住它的名称以 .json 扩展名结尾。 现在我们可以使用上述问题中提到的策略。将此配置放入策略文件中:

{
    "AutoSelectCertificateForUrls": ["{\"pattern\":\"*\",\"filter\":{\"ISSUER\":{\"CN\":\"<Your issuer CN>\"}}}"],
}

您显然用证书中的正确 CN 替换了 <Your issuer CN>

重新启动 Chrome,您就完成了。 要检查政策是否由 Chrome/Chromium 正确加载,您可以使用以下 url:chrome://policy

在将过滤器更改为更宽松之后,此方法有效,如下所示:

{
    "AutoSelectCertificateForUrls": ["{\"pattern\":\"*\",\"filter\":{}}"]
}

另请参阅政策,尝试以下操作:chrome:policy

对于在 Windows 7 上遇到相同问题的任何人,以下步骤适用于 Chrome 77.0.3865.105:

根据 Chromium documentation,应在注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\AutoSelectCertificateForUrls 中设置配置(如果注册表项尚不存在,请创建)。证书自动选择的模式创建为字符串值 (REG_SZ),名称为 123 等...请注意 JSON不需要转义,因此有效配置为 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\AutoSelectCertificateForUrls = {"pattern":"*","filter":{}}