Ssl Chrome不发送客户端证书,但证书有效

Ssl Chrome不发送客户端证书,但证书有效,ssl,client-certificates,mutual-authentication,Ssl,Client Certificates,Mutual Authentication,我看到了一个关于相互认证的奇怪问题。 我在BigIP loadbalancer上设置了相互身份验证,以接受2个不同的CA。 这意味着我们只接受这两个CA颁发的证书 我尝试过使用OpenSSL向LB提供这些证书,它工作得很好,我的意思是我有两个证书,使用IE它工作得很好,FireFox它也工作得很好。但当我使用chrome浏览器时,浏览器会要求证书,但它不会将证书发送给LB,正如wiresharks中所观察到的(下图) 我可以访问这两个证书,因此我提取了证书和密钥并使用了 openssl s_cl

我看到了一个关于相互认证的奇怪问题。 我在BigIP loadbalancer上设置了相互身份验证,以接受2个不同的CA。 这意味着我们只接受这两个CA颁发的证书

我尝试过使用OpenSSL向LB提供这些证书,它工作得很好,我的意思是我有两个证书,使用IE它工作得很好,FireFox它也工作得很好。但当我使用chrome浏览器时,浏览器会要求证书,但它不会将证书发送给LB,正如wiresharks中所观察到的(下图)

我可以访问这两个证书,因此我提取了证书和密钥并使用了

openssl s_client -connect Host:port -cert "cert.pem" -key "key.pem"
它工作正常,我可以看到连接正常

在IE中使用相同的证书,它也可以工作。 邮递员也工作。 FireFox也可以工作

但是,Chrome将证书长度显示为0

正如您所看到的,OpenSSL使用相同的证书,并且它正在发送

知道有什么问题吗

更新: 我用debug启动了chrome,看到了这一点,chrome似乎无法解析我的密钥或证书

[14836:18604:0927/17225.921:错误:ssl_平台_密钥_util.cc(70)]无法分析公钥。
[17536:16164:0927/17225.100:错误:ssl_客户端_套接字_impl.cc(941)]握手失败;返回-1,SSL错误代码1,net_error-117在我的例子中,证书中算法参数的ASN.1编码有问题。编码缺少
NULL
值。如果你上传你的证书,我们可以仔细检查。

它必须是有效的,必须由服务器信任的签名者签名。因此,我有相同的证书,使用不同的方法,它可以工作,如果是这样的话,其他方法不也应该失败吗?我看到了相同的问题。更有趣的是:使用相同服务器的相同证书在基于MS EdgeHTML渲染引擎的Edge中工作,而不是在Chromium渲染引擎上工作。所以我认为这一定与铬有关。我在铬项目中发现了一个bug: