我正在使用带有“传输”安全(“Windows”凭据和“EncryptAndSign”保护)的netTcpBinding。我已经知道Kerberos(在SPNEGO之后)用于验证客户端和服务器(两个机器都在同一个Windows域中)。我想知道用于加密和签名TCP传输通道的算法是什么,因为没有配置选项(“消息”安全性具有“algorithmSuite”配置参数,但对于“传输”安全性不可用)。谢谢。
NetTcpBinding类使用TCP进行消息传输。传输模式的安全性是通过在TCP上实现传输层安全(TLS)来提供的,TLS的实现由操作系统提供。
您也可以通过将TcpTransportSecurity类的ClientCredentialType属性设置为TcpClientCredentialType值之一来指定客户端凭据类型,如以下代码所示。
C#
NetTcpBinding b = new NetTcpBinding();
b.Security.Mode = SecurityMode.Transport;
b.Security.Transport.ClientCredentialType =
TcpClientCredentialType.Certificate;
这里可以找到更多信息:http://msdn.microsoft.com/en-us/library/ms729700
希望这有所帮助。