gpt4 book ai didi

c# - 使用 netTcpBinding 时,在 WCF 中实现加密的最简单方法是什么?

转载 作者:可可西里 更新时间:2023-11-01 02:31:01 25 4
gpt4 key购买 nike

我正在实现一个 WCF 服务,该服务将(部分)在私有(private) LAN 中使用。

我将使用 netTcpBinding 并希望在通信上实现某种形式的安全性,更具体地说,加密数据很重要,这样(例如)任何人都无法查看通过网络传输的数据。

我认为 Windows 身份验证不合适,因为最终用户可能不会严格维护其 Windows 登录名和角色以将其用作身份验证。我认为这会使它不合适吗?如果我错了,请纠正我。

我的问题是,使用 netTcpBinding 在 WCF 服务中实现加密的最简单方法是什么?特别是当 Windows 凭据类型不可用时。

我曾尝试使用证书进行试验(使用 makecert 生成我自己的证书),但明显缺乏说明如何使用 TCP 从头到尾执行此操作以及在 IIS 以外的其他服务器中托管服务的教程和文档。他们中的很多人会详细介绍如何生成证书(并且这些教程中没有两个在这方面完全相同)并以类似

的方式结束

use these to sign the service and client

...不幸的是,这是我需要更多说明的过程!

一般来说,证书解决方案似乎有点过头了,只是为了实现加密数据而已!

对于我可能做出的任何假设的任何帮助或更正,我们将不胜感激。

最佳答案

随着评论中的讨论...

根据我的经验(我做过很多序列化/WCF 工作),NetTcpBinding(和 NetDataContractSerializer)的性能“优势”在很大程度上是虚构的。我从未见过显着的差异 - 通常普通的 http 绑定(bind)更快。

我会切换到基于 SSL 的 BasicHttpBinding,它易于设置且安全。

如果您想要改进的性能等,我会将序列化器切换到类似 protobuf-net 的东西(披露:我是作者)。这确实已经很容易地证明了性能优势,并且在 WCF 中很好地工作(只是对配置文件的更改),尤其是优于 BasicHttpBinding(带有如果启用 MTOM 消息编码,则额外提升,因为它是二进制格式。

就个人而言,我从不使用 NetTcpBinding;如前所述,性能值得怀疑,如果您发现需要 WAN 访问,它会让您依赖在 basic-http 中不起作用的东西。

关于c# - 使用 netTcpBinding 时,在 WCF 中实现加密的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5883545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com