2010-06-27 1 views
3

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

ответ

5

Если все ваши клиенты - это приложения .NET, рассмотрите возможность использования NetTcpBinding, которое по умолчанию безопасно. Все пакеты сообщений подписаны и шифруются по протоколу TCP.

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

Вы можете использовать ProtectionLevel. Возможные варианты: None, Sign и EncryptAndSign.

  • None отключает защиту сообщений.
  • EncryptAndSign обеспечивает полное сообщение по умолчанию и является значением по умолчанию .
  • Знак указывает на то, что сообщение должно быть подписано, но не зашифрованы

WCF предоставляет богатые функции безопасности, для более подробной информации проверить Windows Communication Foundation Security

+0

насколько велика вероятность его столкнуться с проблемами брандмауэра, если я использую NetTcpBinding по сравнению с WsHttpBinding ? или нет разницы? – Emad

+0

Вы можете установить TCP-порт как исключение в правилах брандмауэра. – 2010-06-27 09:58:24