Я использую веб-службы 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;
которого indeeds удаляет первоначальную ошибку исключения. Однако InnerSecurityTokenProvider теперь возвращает свое собственное исключение:
«Le сообщение n'a па пу être Traité автомобиля l'действия «http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/SCT»n'est па Валиде оу нон reconnue."}
(простите за французский сообщение).
Есть ли способ сделать самозаверяющие сертификаты работать в таком удаленном сценарии? (который я бы предпочел, так как мне нужен только сертификат для внутреннего использования)
Будет ли он работать с сертификатом, созданным с помощью openssl (http://www.freebsdmadeeasy.com/tutorials/freebsd/create-a-ca-with -openssl.php)?
Ваша помощь будет наиболее желанной. Благодарю.
РЕДАКТИРОВАТЬ 06/01/2012: Также проверено с подписанным сертификатом, как предлагается (+ список аннулирования), работает в локальном режиме, но не удаляется. Сертификаты были определены как объяснено here. У меня есть сертификат CA, развернутый под доверенным корнем. Сертификаты IP и Сервера развертываются в MY (с pfx) и Trusted People (с сертификатом). Также IIS был настроен так, чтобы учетная запись NETWORK могла получить доступ к закрытым ключам, которые были развернуты в LOCALMACHINE MY.
EDIT 07/01/2012: Это работает, когда сертификат, выданный официальным CA (т.е. Verisign, Thawte ...)
Я проверил, но она не работает лучше в удаленном контексте. – fabien
@fabien, я не уверен, о чем вы говорите. –
Подписание сертификатов работает по вашему усмотрению. Однако в архитектуре клиент-сервер у моего клиента все еще появляется ошибка, возможно, из-за того, что он не знает, кто мой CA.Я протестировал, вставив CA на клиентскую машину, но все равно не работает. Теперь я тестирую сертификаты от поставщиков ЦС, возможно, это решит проблему. – fabien