Сертификаты на серверах и WCF

У меня есть веб-сайт, служба wcf и служба маркеров безопасности (STS), работающая на одном сервере. Все отлично работает. Я сейчас пытаюсь разделить peices между серверами. Когда веб-сайт пытается войти в систему, чтобы получить токен, я получаю ошибки SSL-сертификата.

Это было бы на Server 2008 и IIS 7.5 и моем Windows 7 IIS 7.5, пока я отлаживаю.

An error occurred while making the HTTP request to https://x.x.x.x/STS/issue/wstrust/mixed/username. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by...

Я создал самозаверяющий сертификат на сервере STS и экспортировал его на сервер веб-сайта. Я также экспортировал ключ и дал IIS доступ к ключу на сервере веб-сайта. Это прошло через кучу ошибок WIF, оно не запустится, но я не уверен, что это правильно.

Я также пробовал [netsh http add sslcert ipport:0.0.0.0:44400 и т. Д.], Но я не уверен, какой порт использовать, я пробовал полдюжины разных, но ни один из них не работает, а 443 не работает.

Веб-сайт использует WSTrustChannelFactory для создания соединения. Это бомбы на канал channel.issue в нижней части.

 var factory = new WSTrustChannelFactory(
                 new UserNameWSTrustBinding(SecurityMode.TransportWithMessageCredential),
                 new EndpointAddress(signInEndpoint));
             factory.TrustVersion = TrustVersion.WSTrust13;

             factory.Credentials.UserName.UserName = userName;
             factory.Credentials.UserName.Password = password;

             var channel = factory.CreateChannel();

             var rst = new RequestSecurityToken
             { 
                 RequestType = RequestTypes.Issue,
                 AppliesTo = new EndpointAddress(realm),
                 KeyType = KeyTypes.Bearer
             };


             try
             {
                 var genericToken = channel.Issue(rst) as GenericXmlSecurityToken;

** РЕДАКТИРОВАТЬ **

Я также настроил серверы веб-сайтов iis-порт привязок https 443 по умолчанию на использование сертификата, импортированного с сервера STS, и получил ту же ошибку.

** Конец редактирования **

Я был на всем протяжении Google и Stackru и, хотя многие вопросы кажутся близкими, ни один из утвержденных ответов не сработал.

Идеи? Я нуб сервера / аппаратного обеспечения, так что "для версии чайников" было бы неплохо.

Спасибо!

1 ответ

Решение

Поскольку вы используете самозаверяющий сертификат, обязательно отключите проверку цепочки сертификатов или добавьте ее в доверенное хранилище. Похоже, что вы используете URL-адрес IdentityServer, там вы можете отключить строгие требования к конечной точке, а на клиенте использовать UserNameWSTrustBinding только с защитой сообщений.

Другие вопросы по тегам