4

WCF 的 netTCPBinding 是“默认安全的”。据我了解,这意味着..

  • 调用者使用他们的 Windows 凭据进行身份验证。
  • 消息已签名
  • 消息被加密。

但是,我可以在本地主机上设置一个非常基本的 WCF 客户端服务。身份验证将在同一台机器上工作,但签名和加密如何工作?

WCF 需要证书来签署和加密消息。如果我没有证书,那么我的服务如何运作?消息是如何被签名和加密的——即使只是去同一台机器。

谢谢。

4

1 回答 1

5

默认情况下,NetTcpBinding 使用您列出的默认特性的传输安全性。

在这种情况下,消息的签名和加密与消息安全中的含义不同。相反,这意味着通过网络传输发送的所有数据包都经过签名和加密。这不依赖于证书。它由安装在发送和接收机器上的操作系统中的安全提供程序完成,通过 SSPI(安全支持提供程序接口)调用 - 所涉及的机制相同,例如,当使用域凭据访问某些资源(如文件)时在网络上的另一台机器上。

在连接上发送任何应用程序数据之前,绑定会在发送方和接收方之间协调 SSPI 握手,指定Negotiate安全包(这将选择 NTLM 或 Kerberos 作为实际的安全协议,具体取决于各自主机的功能)。作为握手的一部分,安全令牌通过连接进行交换,在握手结束时,双方的安全提供者将商定会话密钥,用于对随后的应用程序消息进行签名和加密。

于 2011-03-03T17:43:18.000 回答