Аутентификация сертификата клиента WCF - PullRequest
2 голосов
/ 07 сентября 2010

У нас есть типичная клиент-серверная служба WCF, и я хотел бы следующее:

  • Клиент передает сертификат на сервер через свойство ClientCredentials
  • Сервер просматривает сертификат и видит, что он был выдан нашим доверенным центром сертификации
  • Клиент отклоняется, если он использует сертификат, который не выдан нашим ЦС.

На клиенте установлен сертификат clientAuthentication вместе с нашим доверенным центром сертификации. На сервере установлен наш доверенный сертификат CA. Я не хочу устанавливать какие-либо другие сертификаты.

Я гибок в связывании, однако он должен работать в веб-сценарии.

Я думал об использовании BasicHttpBinding с TransportCredentialOnly, однако он не поддерживает сертификаты: (.

Я пытался использовать wsHttpBinding в режиме сообщений, однако для этого требуется ServerCertificate для выполнения аутентификации сервера и шифрования сообщений ... чего я не хочу!

Есть ли какой-нибудь встроенный способ добиться этого?

1 Ответ

2 голосов
/ 07 сентября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...