Я использую веб-сервисы WCF с WIF.Более подробная информация, я использую WS2007FederationHttpBinding.Все хорошо работает на компьютере localhost, используемом для разработки.
Однако, при попытке удаленной установки с сервером, развернутым в IIS, и клиентом, запускаемым с другого ПК, мой метод открытия канала завершается неудачей со следующим исключением:
Сбой сертификата X.509 CN = MyOwnCertificate.Используемый сертификат имеет цепочку доверия, которую невозможно проверить.Замените сертификат или измените CertificateValidationMode.
(MyOwnCertificate является самозаверяющим сертификатом с использованием makecert; сертификат был вставлен в доверенные корневые центры сертификации).
Поэтому я сначала попытался удалить это ограничение с помощью следующего кода, для целей тестирования:
this.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.PeerOrChainTrust;
this.ClientCredentials.ServiceCertificate.Authentication.RevocationMode = X509RevocationMode.NoCheck;
, который отменяет, устраняет ошибку первоначального исключения.Однако InnerSecurityTokenProvider теперь возвращает свое собственное исключение:
"Le message n'a pas pu être traité car l'action 'http://docs.oasis -open.org / ws-sx / ws-trust / 200512/ RST / SCT 'n'est pas valide ou non разведка. "}
(извините за французское сообщение).
Есть ли способ заставить работать самоподписанные сертификатыв таком отдаленном сценарии?(что я бы предпочел, так как мне нужен только сертификат для внутреннего использования)
Будет ли он работать с сертификатом, созданным с помощью openssl (http://www.freebsdmadeeasy.com/tutorials/freebsd/create-a-ca-with-openssl.php)?
Ваша помощь будет приветствоваться. Спасибо.
РЕДАКТИРОВАНИЕ 06/01/2012: также протестировано с подписанным сертификатом в соответствии с предложением (+ список отзыва), работает локально, но не работает удаленно. Сертификаты были определены как объяснено здесь .иметь сертификат CA, развернутый под Trusted Root. Сертификаты IP и сервера развернуты в MY (с pfx) и Trusted People (с cer). Также IIS был настроен так, чтобы учетная запись NETWORK могла получать доступ к закрытым ключам, развернутым в LOCALMACHINE MY.
РЕДАКТИРОВАТЬ 01/01/2012: работает, когда сертификат выдан официальным центром сертификации (т. Е. Verisign, thawte ...)