У меня возникли проблемы с настройкой схемы сертификатов X509 в C# .NET. SSL включен на сервере, и соединение выполняется по SSL. Сертификаты добавляются в магазин запроса через request.ClientCertificates.Add()
. Однако ни один сертификат клиента не прикрепляется к запросу квитирования (который я подтверждаю, проверяя код сервера через HttpRequest.ClientCertificate
и анализируя рукопожатие в Fiddler).Использование certutil для проверки ответов на сертификат
Насколько я могу судить, проблема в том, что сервер не запрашивает сертификат клиента. Сертификаты, безусловно, находятся в исходящем запросе, но я не вижу их в рукопожатии и ни на сервере, они просто исчезают в эфире. Я знаю семантику выбора сертификата (спасибо this page), но он не разрешил мою проблему. ЦС должны быть одинаковыми; Я использую один и тот же самоподписанный закрытый секретный сертификат для каждого конца теста.
Очевидно, я могу использовать certutil.exe, чтобы проверить, какие сертификаты будут выбраны при использовании с данным сертификатом сервера. Это было бы огромной помощью, если бы я мог понять, как использовать его так. Certutil - это большая программа, которая плохо документирована. Любая помощь будет оценена по достоинству.