我尝试使用自签名证书通过SSL建立服务器客户端通信。在服务器端,我在创建证书时添加了CN =。我的客户端使用libCurl进行通信,CURLOPT_SSL_VERIFYPEER设置为1,CURLOPT_SSL_VERIFYHOST设置为2.SSL证书问题:CN条目与URL中的主机名不匹配
当客户端尝试在URL中使用服务器的FQDN发送请求时,它工作正常。但是如果客户端使用IP地址,我得到的错误信息为 'SSL:证书使用者名称''与目标主机名'''不匹配'''我明白问题是'使用的URL中的主机名应与主题名称匹配'证书。
但是这个问题的解决方案是什么?客户端应该能够使用IP地址/短主机名/ FQDN进行连接。我尝试在证书中添加多个CN条目(对于FQDN和IP),但它不起作用。
DNS名称不应放置在通用名称(CN)中。该行为已被IETF和CA /浏览器论坛弃用。相反,在CN中使用友好名称是因为它显示给用户。 DNS名称应放置在主题备用名称(SAN)中。这由IETF和CA/B论坛进行了规定。 *注意*:CA /浏览器论坛非常重要,因为这是浏览器和CA联合在一起并决定策略的地方。浏览器遵循CA/B论坛,不遵循IETF的建议。 – jww