Безопасность транспорта сертификата WCF WsHttpBinding - Конфигурация сертификата Windows - PullRequest
1 голос
/ 27 июня 2011

У меня есть две службы WCF, использующие WsHttpBinding с проверкой подлинности на основе взаимного сертификата безопасности транспорта, которые размещены на одном сервере Windows.Клиенты, которые могут получить доступ к одной службе WCF, не должны иметь доступа к другой службе WCF.Мне нужна помощь в настройке клиентских сертификатов на хосте Windows.Сертификаты клиента подписаны доверенными центрами сертификации, а промежуточная и корневая цепочки сертификатов уже установлены на сервере.Кажется, что служба автоматически полагается на цепочку доверия и вообще не требует фактических клиентских сертификатов, установленных на сервере, прежде чем разрешить клиенту доступ к службе - это не то поведение, которое мне нужно.Может кто-нибудь сказать мне, как я должен настраивать эти клиентские сертификаты, чтобы явно разрешить доступ к одной службе, а не к другой?

Спасибо.

1 Ответ

1 голос
/ 27 июня 2011

Это не имеет ничего общего с самими сертификатами. При использовании взаимной проверки подлинности SSL сертификаты используются только для проверки подлинности клиента, а проверка подлинности выполняется за пределами вашего приложения (это отличается от безопасности сообщений, где вы можете создать собственный сертификат проверки сертификатов). Когда сертификат является доверенным, клиент автоматически аутентифицируется на всем сервере, используя сертификаты для аутентификации.

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

...