C# WCF如何与Kerberos一起工作?
我正在服务和客户端之间使用WCFWindows服务自主机netTCP。这就是自定义绑定的外观C# WCF如何与Kerberos一起工作?,c#,.net,wcf,active-directory,kerberos,C#,.net,Wcf,Active Directory,Kerberos,我正在服务和客户端之间使用WCFWindows服务自主机netTCP。这就是自定义绑定的外观 <binding name="netTcpWindowMessageSecurity" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="infinite" sendTimeout="01:00:00" transactionFlow="false" transferMode="Buffered" transactionP
<binding name="netTcpWindowMessageSecurity" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="infinite" sendTimeout="01:00:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="1000" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="200" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="infinite" enabled="false" />
<security mode="Message">
<message clientCredentialType="Windows" />
</security>
</binding>
按照Erik Funkenbusch的建议,我确保了通信的安全。这就是我想要改变的
<security mode="Transport">
<transport protectionLevel="EncryptAndSign" clientCredentialType="Windows"></transport>
</security>
首先,inactivityTimeout=infinite不做您认为它做的事情。第二,不,你的数据没有被加密,我不知道你为什么会这么认为。第三,Kerberos根本不涉及,正如您的安全日志所示,它使用的是NTLM Lan Manager身份验证。@ErikFunkenbusch从我读到的InactivityMout是连接在断开之前保持不活动状态的时间有多长?然而,我确实有一个保持活力的方法。从我所看到的情况来看,安全性在传输层打开,将使用的凭据是Windows。据我所知,这意味着数据将被加密?你能告诉我这是怎么解释的吗?@ErikFunkenbusch因为没有任何东西表明使用了NTLM,有一个包名,但它只说明了NTLM,没有任何信息?我不能告诉你一些不存在的东西。安全性与身份验证有关,而不是数据加密。我不能告诉你,这不是一个不合逻辑的假设,因为没有人会写这样的文档。相反,您有哪些文档表明这会加密您的数据?不,不活动时间比你想象的要复杂得多。。。对不起,你说得对,我怎么能忘记那个答案!即将删除ping功能,但从未获得时间。
<security mode="Transport">
<transport protectionLevel="EncryptAndSign" clientCredentialType="Windows"></transport>
</security>