对不起,我错了,有两件事必须强调:
The CA cert Common Name must not same to the server/client side cert
The server/client side cert's common name must be same我正在尝试使用自签名证书作为HTTPS客户端证书。但是,存在一个“SSL:无法从对等证书中获取公共名称”的问题。
如您所见,服务器端证书包含公共名称,为什么会出现此问题?
以下是卷曲输出:
下面是
#openssl x509 -in server.crt -text -noout
证书:数据:版本:1 (0x0)序列号: 15298562268347408844 (0xd44f6953eb0a1cc)签名算法: sha1WithRSAEncryption颁发者: C=CN,ST=Beijing,L=Beijing,O=OKK,OU=Test,CN=MyComp有效性:
发布于 2015-02-04 10:51:24
试试CURLOPT_SSL_VERIFYHOST=0或curl -k
发布于 2015-02-07 17:29:50
在不知道用于生成CSR的数据的情况下,DN的最后一个组件似乎不包含具有目标主机名的CN属性。通常,SSL库客户端将只检查与目标主机名相等的CN属性的第一个组件。我将反转DN顺序,并添加一个具有主机名的CN属性。
如果您提供更多关于您如何生成CSR的详细信息,我将很乐意帮助您了解如何修复它。
发布于 2015-02-07 18:43:22
来自对等服务器证书的主题详细信息是:
主题: C=CN;ST=Beijing;L=Beijing;O=XiaoMi
签发人的详细资料如下:
C=CN,ST=Beijing,L=Beijing,O=OKK,OU=Test,CN=MyComp有效性
显然,这两者是不同的(如果应该有任何联系试图),因为这是我从问题中理解的。
在任何情况下,就像在curl错误中看到的那样,公共名称属性丢失了。这可能是由于所提供的证书从未包含它。
建议您尝试从浏览器中打开证书并进行验证。
https://stackoverflow.com/questions/23655508
复制相似问题