WinHttp получить альтернативное имя субъекта из сертификата? - PullRequest
0 голосов
/ 31 января 2019

Я работаю над одним проектом, в котором клиент предоставил один сертификат, имеющий альтернативное имя субъекта со всеми возможными IP-адресами и именами DNS, к которым он может подключиться.

Текущая реализация HTTPS в нашем коде использует WinHttp API дляполучение правильного сертификата.

Мы используем ниже API:

CertFindCertificateInStore

Сертификат имеет следующее:

Subject-> 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 name не совпадает с именемимя хоста.Но сертификат имеет подстановочный знак, поэтому он должен совпадать.

После этого мы получили второй сертификат с «Альтернативным именем субъекта» (расширенный сертификат), заполненный IP-адресами и DNS-именами.При тестировании с этим сертификатом мы по-прежнему получаем ту же ошибку, что и выше.

Кто-нибудь имеет представление о том, как получить доступ к альтернативному имени субъекта через winhttp API?

Заранее спасибо.

...