我正在一个项目中,客户提供了一份证书,该证书具有主题替代名称以及可以连接的所有可能的IP和DNS名称。
我们代码中HTTPS的当前实现使用winHttp API来获取正确的证书。
我们正在使用以下API:
CertFindCertificateInStore
证书具有以下内容:
主题-> CN设置为*.abc.com
,我们正尝试从应用程序连接到uat.abc.com
。
打开安全连接时,出现以下错误:
WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID - SSL certificate common name (host name field) is incorrect, for example, if you entered www.microsoft.com and the common name on the certificate says www.msn.com.
因此,在搜索winhttp之后,我发现Subject-> CN名称与主机名不匹配。但是证书具有通配符,因此应该匹配。
此后,我们获得了第二个证书,该证书的“主题备用名称”(扩展证书)填充了IP和DNS名称。 使用此证书进行测试时,我们仍然会收到与上述相同的错误。
有人知道如何通过winhttp API访问使用者替代名称吗?
谢谢。