.NET Remoting через SSL с TCPChannel

Мне нужно защитить мой.NET Remoting по SSL. Я использую TCPChannel и не могу переключиться на HTTPChannel и использовать IIS для добавления SSL.

Таким образом, что я понял, мне нужно создать мой собственный Sink, который будет зашифровывать потоки, идущие в / из Client / Server. Для этого я нашел хорошую статью на MSDN: http://msdn.microsoft.com/en-us/magazine/cc300447.aspx. Тем не менее, эта статья разрабатывает склеп, рукопожатие и т. Д.

Я не хочу "изобретать велосипед". Я боюсь ошибиться при разработке этой логики самостоятельно. Вместо того, чтобы я хотел использовать некоторую реализацию SSL (например, SslStream или OpenSSL), которая сделает это за меня.

Могу ли я использовать SslStream или OpenSSL в.NET Remoting с помощью TCPChannel? Вы бы предложили простое использование?

Спасибо за помощь.

1 ответ

Решение

Подумайте о переходе на WCF.

В качестве альтернативы, удаленное взаимодействие должно быть в состоянии сделать эквивалент использования WCF с ClientCredentialType, установленным в Windows, если вы укажете secure='true' в вашей удаленной конфигурации на стороне клиента и сервера. TcpChannel начнет использовать SSL для шифрования связи, используя учетные данные пользователя для ключевого материала. На стороне клиента это также подразумевает tokenImpersonationLevel='identify' Это означает, что сервер не будет олицетворять учетную запись пользователя, под которой выполняется клиент, но он будет знать, кто к нему подключен (при условии, что клиент и сервер работают в одном домене AD). Из соображений производительности установите useAuthenticatedConnectionSharing в true на стороне клиента.

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