Использование certutil для проверки ответов сертификатов - PullRequest
0 голосов
/ 12 августа 2010

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

Я могу использовать certutil.exe, чтобы проверить, какие сертификаты будут выбраны при использовании с данным сертификатом сервера.Это было бы огромной помощью, если бы я мог понять, как использовать это так.Certutil - большая программа, которая плохо документирована.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 13 ноября 2010

Если вы используете сервер IIS, вы ДОЛЖНЫ предоставить сертификат, которому доверяет ваш сервер.Таким образом, вы ДОЛЖНЫ добавить клиентский сертификат CA-сертификат в хранилище корневых центров сертификации на серверном компьютере.IIS не работает с самозаверяющими сертификатами.Он запрашивает у сертификата клиента список CA, которым он доверяет.

...