Действительно ли возможно вынудить тестовый клиент WCF принять самоподписанный сертификат?

У меня есть веб-сервис WCF, работающий в IIS 7 с помощью самоподписанного сертификата (это - подтверждение концепции, чтобы удостовериться, что это - маршрут, я хочу пойти). Это требуется, чтобы использовать SSL.

Действительно ли возможно использовать Тестовый Клиент WCF для отладки этого сервиса, не нуждаясь в несамоподписанном сертификате?

Когда я пробую, я получаю эту ошибку:

Ошибка: не Может получить Метаданные из https:///Service1.svc, Если это - сервис Windows (R) Communication Foundation, к которому у Вас есть доступ, проверьте включение публикации метаданных в указанном адресе. Для справки, разрешающей публикацию метаданных, отошлите к документации MSDN в Ошибке Exchange http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata URI: метаданные https:///Service1.svc содержат ссылку, которая не может быть разрешена: 'https:///Service1.svc'. Не удалось установить доверительные отношения для безопасного канала SSL/TLS с полномочиями ''. Базовое соединение было закрыто: не Мог установить доверительные отношения для безопасного канала SSL/TLS. Удаленный сертификат недопустим согласно процедуре проверки. HTTP ПОЛУЧАЕТ Ошибку URI: https:///Service1.svc Там был ошибкой при загрузке 'https:///Service1.svc'. Базовое соединение было закрыто: не Мог установить доверительные отношения для безопасного канала SSL/TLS. Удаленный сертификат недопустим согласно процедуре проверки.

Править: Этот вопрос конкретно об использовании Тестового Клиента WCF для тестирования веб-сервиса, уже защищенного через SSL с помощью самоподписанного сертификата. Сервер уже настраивается для принятия любого сертификата, если, это - Тестовый Клиент WCF, для которого я не вижу способ сделать это.

28
задан Lawrence Johnston 10 May 2010 в 15:10
поделиться

2 ответа

Вы можете предоставить свой собственный метод для проверки сертификата.

Попробуйте так:

ServicePointManager.ServerCertificateValidationCallback +=
            new System.Net.Security.RemoteCertificateValidationCallback(EasyCertCheck);

Обратный звонок:

bool EasyCertCheck(object sender, X509Certificate cert,
        X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
    return true;
}
-5
ответ дан 28 November 2019 в 03:55
поделиться

вы сможете это сделать, если замените тестовый клиент WCF на WCFStorm Lite Edition . Он бесплатный и немного более гибкий, чем тестовый клиент MS ... например, он позволяет вам указать имя пользователя и пароль, если вы выполняете аутентификацию по имени пользователя.

4
ответ дан 28 November 2019 в 03:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: