我需要通过SSL保护我的。net远程。我正在使用TCPChannel,我不能切换到HTTPChannel并使用IIS来添加SSL。
因此,我发现,我需要创建我自己的Sink来加密来往于客户端/服务器的流。为此,我在MSDN上找到了一篇好文章:http://msdn.microsoft.com/en-us/magazine/cc300447.aspx。然而,那篇文章正在开发隐窝,握手等。
我不想"重新发明轮子"。当我自己开发这个逻辑时,我害怕犯错误。我宁愿使用一些SSL实现(例如SslStream或OpenSSL)来为我做这些事情。
我可以使用SslStream或OpenSSL在。net远程与TCPChannel?你能建议一个简单的用法吗?
谢谢你的帮助。
考虑切换到WCF。
或者,如果您在客户端和服务器端的远程配置中都指定了secure='true'
,那么远程处理应该能够执行与将ClientCredentialType设置为Windows
时使用WCF相同的操作。TcpChannel将开始在底层使用SSL加密通信,使用用户凭证作为密钥材料。在客户端,这也有设置tokenImpersonationLevel='identify'
的隐含效果,这意味着服务器不会冒充客户端执行的用户帐户,但它会知道谁连接到它(假设客户端和服务器在同一个AD域中运行)。出于性能考虑,客户端的"useAuthenticatedConnectionSharing
"设置为"true
"。