我需要通过SSL保护我的.NET Remoting。 我正在使用TCPChannel,我无法切换到HTTPChannel并使用IIS来添加SSL。
因此,我想通过,我需要创建自己的Sink,它将加密进出Client / Server的流。为此,我在MSDN上发现了一篇好文章:http://msdn.microsoft.com/en-us/magazine/cc300447.aspx。但是,那篇文章正在开发地穴,握手等等。
我不想“重新发明”。在我自己开发这个逻辑时,我害怕犯错误。而不是我想使用一些SSL实现(例如SslStream或OpenSSL)来为我做这些事情。
我可以在.NET Remoting中使用SslStream或OpenSSL与TCPChannel吗? 你会建议一个简单的用法吗?
感谢您的帮助。
答案 0 :(得分:1)
考虑切换到WCF。
或者,如果在客户端和服务器端的远程处理配置中指定Windows
,则远程处理应该能够使用等同于将ClientCredentialType设置为secure='true'
的WCF。 TcpChannel将开始使用SSL来加密通信,使用密钥材料的用户凭据。在客户端,这也具有设置tokenImpersonationLevel='identify'
的隐含效果,这意味着服务器将不会模拟客户端正在执行的用户帐户,但它将知道谁连接到它(假设客户端和服务器)在同一个AD域中运行)。出于性能原因,请在客户端将useAuthenticatedConnectionSharing
设置为true
。