WinHttp получить альтернативное имя субъекта из сертификата?

Я работаю над одним проектом, в котором клиент предоставил один сертификат с альтернативным именем субъекта со всеми возможными 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?

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

0 ответов

Другие вопросы по тегам