SSL 客户端证书 Microsoft Edge

问题描述 投票:0回答:3

我在 MS Edge 浏览器、Window 10 中遇到客户端证书问题。 基本上我的 PKI 结构如下:

RootCA(自签名 4096)-> 中间 CA(由 RootCA 2048 签名)-> 一张服务器证书,一张客户端证书(均由中间 CA 签名)

使用以下 SSL 选项进行 Apache 设置

SSLCertificateFile - cert generated by Intermediate CA 2048

SSLCertificateKeyFile  - keyfile of above cert

SSLCACertificateFile  - Cert of my Intermediate CA chained with
RootCA cert

SSLCARevocationFile - Crl list generated by Intermediate CA

SSLVerifyClient require 

SSLVerifyDepth 10

SSLOptions +StdEnvVars

客户端证书生成为 PKCS#12 链文件。

现在,使用 Firefox、Chrome 和 Internet Explorer 11 进行测试,一切都按预期工作 - 没有证书,您会得到 403 页面,而导入证书后,您可以登录,并且 PHP 文件读取证书,该文件基本上输出使用 +StdEnvVars 收集的信息。

在 Microsoft Edge v25.10586.0.0 上,当我转到 https 位置时,我会看到证书选择窗口,但当我选择适当的证书时,我仍然收到 403 错误。这让我抓狂,因为除了 Edge 浏览器之外,它几乎可以在任何地方使用。任何人都可以帮我至少从哪里开始寻找?

ssl microsoft-edge pki
3个回答
2
投票

当然,问题不仅仅是愚蠢...为了让 Edge 能够获取正确的证书并使用它,您必须重新登录或重新启动...


0
投票

重新启动和所有其他建议对我的情况没有帮助。有用的是了解 Microsoft 开发人员未能考虑基本的用户体验指南。

客户端证书对话框显示一个证书、“确定”和“取消”按钮。仅当选择了证书时,“确定”按钮才会按预期工作。如果没有,它只是闪烁 - 至少向用户提供一些反馈,表明鼠标单击已被注册。但没有任何提示表明我应该从证书列表中选择一个条目。如果“确定”按钮在选择证书之前保持不活动状态,那就已经很有帮助了。但无论如何它都是活跃的。

我有 30 年使用 Windows 软件的经验 - 一切都变得更糟,尤其是可用性。


-1
投票

Microsoft EDGE 没有直接管理证书或导入证书的方法以避免证书错误。要允许 Microsoft-Edge 使用自签名证书,需要从命令行使用“certmgr.msc”工具将证书导入为受信任的证书颁发机构。

这可以按如下方式完成:

  • 点击红色证书错误信息查看失败的证书
  • 点击查看证书
  • 单击“导出到文件”(任何位置,foo.crt)
  • 启动 cmd shell 并输入命令“certmgr.msc”以打开证书向导
  • 从菜单栏中选择“操作”>“所有任务”>“导入...”
  • 将出现一个弹出窗口,询问“存储位置”,选择当前用户或本地计算机。单击下一步。
  • 将出现一个新的弹出窗口,询问文件名:浏览并选择导出的证书文件 foo.crt,然后单击“打开”。
  • 弹出窗口现在将包含证书文件 foo.crt 的完整路径。单击下一步。
  • 将出现一个新的弹出窗口,要求您允许 Windows 根据证书选择“证书存储”,或者允许您手动指定证书存储。选择手动选项“受信任的根证书颁发机构”。单击下一步。
  • 最终将出现弹出窗口“正在完成证书导入向导”。检查设置并单击完成。
  • 您应该收到“导入成功”消息。
  • 关闭导入向导应用程序并在 EDGE 浏览器中再次尝试该 URL。如果这有效,您将不会收到证书错误并且页面将正常加载。
© www.soinside.com 2019 - 2024. All rights reserved.