【发布时间】:2012-07-10 22:04:39
【问题描述】:
我已阅读 MSDN 上提供的文档以及该站点上的其他一些帖子。但是,在使用带有证书的消息安全性时,WCF(特别是 NetTcpBinding)是否会真正加密消息 contents 仍然有点不清楚。有人确定吗?
例如,您可以在配置中同时指定传输和消息凭据:
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="Certificate"/>
<message clientCredentialType="Certificate"
negotiateServiceCredential="true" />
</security>
据我所知,MSDN 文档暗示消息安全性仅依赖于用户名/密码或基于证书的身份验证(协商),但并未明确说明消息本身实际上是在消息级别加密的。
例如,如果我只使用基于证书的协商的消息安全性,我认为消息内容实际上并未加密(即,数据包嗅探器可以拦截原始消息内容——即使服务强制执行身份验证)?
如果可以实现真正的消息级加密(使用 NetTcpBinding),它是如何在代码中完成的?我相信这与算法套件有关,虽然我不确定,
binding.Security.Mode = SecurityMode.Message;
binding.Security.Message.ClientCredentialType = MessageCredentialType.Windows;
binding.Security.Message.AlgorithmSuite = new System.ServiceModel.Security.TripleDesSecurityAlgorithmSuite();
【问题讨论】:
标签: c# wcf security certificate nettcpbinding