обновлено с апреля 2018

олжно быть легко для тех, кто сделал это раньше ...

Я пытаюсь настроить автономный сервис WCF с использованием NetTcpBinding. Я получил пробный SSL-сертификат от Thawte и успешно установил его в своем хранилище IIS, и я думаю, что он правильно настроен в службе - по крайней мере, это не исключение для меня!

Теперь я пытаюсь подключить клиента (это все еще на моем компьютере разработчика) и выдает ошибку "Message =" Сертификат X.509 CN = ssl.mydomain.com, OU = Для целей тестирования Только. Никаких гарантий., OU = IT, O = Моя компания, L = Мой город, S = Нет, C = IL не удалось построить сеть. Используемый сертификат имеет цепочку доверия, которую невозможно проверить. Замените сертификат или измените CertificateValidationMode. Цепочка сертификатов обработана, но завершена корневым сертификатом, который не является доверенным поставщиком доверия ".

Ооооооооей ... что теперь?

Код клиента (я хочу сделать это в коде, а не в app.config):

var baseAddress = "localhost";
var factory = new DuplexChannelFactory<IMyWCFService>(new InstanceContext(SiteServer.Instance));
factory.Endpoint.Address = new EndpointAddress("net.tcp://{0}:8000/".Fmt(baseAddress));
var binding = new NetTcpBinding(SecurityMode.Message);
binding.Security.Message.ClientCredentialType = MessageCredentialType.UserName;
factory.Endpoint.Binding = binding;
var u = factory.Credentials.UserName;
u.UserName = userName;
u.Password = password;
return factory.CreateChannel()

Добавлена ​​награда Я только что получил себе новый пробный сертификат от Thawte, установил его с установленным для mydomain.com «выдан», и я все еще получаю сообщение об ошибке выше. Я новичок в веб-безопасности, поэтому мне понадобятся подробные инструкции, как заставить клиента подключиться к моему веб-сайту и принять сертификат безопасности. (Кстати, что значит «Нет гарантий»?)

Ответы на вопрос(0)

Ваш ответ на вопрос