Путаница с услугами и сертификатами с анонимным клиентом - PullRequest
0 голосов
/ 27 мая 2009

Я установил службу WCF, которая использует транспортную безопасность через netTcpBinding. Сертификат, используемый для безопасности службы, подписан центром сертификации, который мы создали для разработки.

Может кто-нибудь объяснить, как это работает, что мой анонимный клиент может подключаться и взаимодействовать со службой без локальной установки того же CA? Я довольно плохо знаком с сертификатами и предположил бы, что ЦС должен быть установлен локально, чтобы клиент мог расшифровать данные из службы.

Служба и клиент находятся на компьютерах с Windows, а клиент - это приложение Windows Forms .NET 3.5.

1 Ответ

1 голос
/ 27 мая 2009

Ну, есть две части уравнения:

  • у вас может быть сервер сертификат, который служба использует для аутентификации клиентов (чтобы доказать, что это действительно служба, которую она утверждает)
  • у вас может быть клиентский сертификат, который необходим клиенту для подтверждения своей личности на сервере

Что вас интересует?

Как правило, если у вас есть сертификат сервера / службы, клиент либо «узнает» открытый ключ сервера (его можно установить в хранилище сертификатов клиента, например, с помощью программы установки, либо загрузив и установив его), либо он запросит сертификат сервера во время создания прокси и сохранит открытый ключ сервера в файле конфигурации локального клиента для дальнейшего использования. Затем эта конфигурация снова будет установлена ​​вместе с приложением на клиенте.

Если клиент хочет пройти аутентификацию на основе службы, ему определенно нужно будет установить свой сертификат клиента локально в хранилище сертификатов клиентского компьютера.

Я бы порекомендовал проверить Руководство по безопасности WCF - это отличный ресурс, и они могут объяснить, как сделать определенные сценарии намного лучше, чем я!

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

Марк

...