NET::ERR_CERT_INVALID google 和 windows 证书存储

NET::ERR_CERT_INVALID google and windows certificate store

提问人:Hugo_vdms 提问时间:7/24/2023 最后编辑:Hugo_vdms 更新时间:7/27/2023 访问量:295

问:

我正在使用 C# 的 .NET 4.8 应用程序上,此应用程序在 localhost 用户上生成一个网页,并且我也在使用 , .X509StoreX509Certificate2

我在谷歌上生成的存储证书有一个非常未知的情况和行为,这里如何重现它:

  1. 我先打开谷歌浏览器(重要)

  2. 我打开多个选项卡:x 2、x 2、x 2(它们都会抛出 NET::ERR_CERT_INVALID这是正常的,因为还没有存储证书)。https://localhost/https://127.0.0.1/https://192.168.0.12/

  3. 我生成一个允许这些 SAN(主机的 IP 地址)的基本证书:、、......localhost127.0.0.1192.168.0.12

  4. 我将其存储在 with the (它可以是使用 X509KeyStorageFlags.MachineKeySetStoreLocation.LocalMachine,它不会影响结果)。StoreLocation.CurrentUserX509KeyStorageFlags.UserKeySet

  5. 然后我回到谷歌上,刷新其中一个选项卡(它可以是任何一个):

  • -> 刷新的第一个选项卡将 ALLWAYS 抛出一个 NET::ERR_CERT_INVALID,您可以无限刷新,它将 Allways 抛出它(它可以是任何一个,它只需要是生成证书后刷新的第一个)。
  • -> 刷新后的所有其他选项卡都可以正常工作(即使它与第一个抛出错误的 URL 相同,第二个选项卡也可以工作)。

解决方案:(我关闭并打开谷歌浏览器,所有 SANs URL 在调用时都可以完美运行,即使是第一个选项卡)。

我的问题:我无法关闭谷歌浏览器(这是必要的),也无法在证书生成后运行谷歌,因为谷歌已经打开,我需要随时重写证书。

这就是为什么我需要帮助来理解和确定为什么会发生这种行为,以及我是否可以控制它并可能修补它?(我真的希望这不是谷歌浏览器的行为)。

C# 谷歌浏览器 .net-core SSL 证书

评论


答: 暂无答案