Ошибка SSL + WCF - PullRequest
       30

Ошибка SSL + WCF

2 голосов
/ 20 февраля 2009

Точный дубликат
Ошибка SSL RemoteCertificateNameMismatch
Ошибка SSL RemoteCertificateNameMismatch

Я использую WCF для доступа клиента к сервису. Я пытаюсь получить доступ к конечной точке с помощью TLS (https). У меня есть сертификаты с закрытыми и открытыми ключами.

Если у меня есть конечная точка службы, в которой имя хоста совпадает с именем сертификата («Issued To»), то я могу получить доступ к службе с клиента.

Если имена «выданных» и конечных доменных имен различаются, я получаю сообщение об ошибке «Не удалось установить доверительные отношения для безопасного канала SSL / TLS с полномочиями». Я добавил сертификаты в «Доверенные корни», «Личные» и «Надежные люди». В моем сервисе я использовал "PeerOrChainTrust".

Пожалуйста, дайте мне знать, если у кого-нибудь есть идеи по этому поводу

1 Ответ

1 голос
/ 20 февраля 2009

В этом случае вам нужно определить политику доверия для сервера на стороне клиента,

Вызовите SetCertPolicy один раз, прежде чем совершать какие-либо звонки в службы.

using System.Net;
using System.Security.Cryptography.X509Certificates;
        public static void SetCertPolicy()
        {
            ServicePointManager.ServerCertificateValidationCallback += RemoteCertValidate;
        }

        private static bool RemoteCertValidate( object sender, X509Certificate cert, X509Chain chain,
            SslPolicyErrors error )
        {
            // trust any cert!!!
            return true;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...