SSL客户端证书Microsoft Edge

时间:2016-10-06 14:18:16

标签: ssl microsoft-edge pki

我在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浏览器中它几乎无处不在。任何人都可以帮助我至少在哪里开始寻找?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

这可以如下进行:

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