我在尝试解决 WCF 中设置的泥潭时遇到了以下问题...
我使用 NetTcp 绑定创建了 WCF 客户端-服务器服务。我没有对安全设置进行任何更改,并且在一台机器上运行时它运行得非常好。但是,当我从另一台机器上运行我的客户端时,它抱怨服务器不喜欢发送的安全凭证。
我现在明白 NetTCP 默认情况下是“安全的”,并且我的客户端会传递错误的安全详细信息 - 即 Windows 用户名和密码(或某种形式的域身份验证)到我的服务器,因为它们没有在它不会喜欢的同一个域。
但是,我不明白的是:
我没有在绑定中指定任何安全性 - 标准设置是否需要发送 Windows 用户名或密码?
我的服务器上没有安装任何证书 - 我知道 NetTCP 绑定需要某种形式的公共私钥来保护凭据 - 但是当客户端和服务器都在同一台机器上时这似乎有效 - 数据是如何获取的加密?或者想要它,因为 WCF 知道它在同一台机器上并且不需要加密?
我现在必须将客户端和服务器上的安全模式设置为“无”,并且它们连接得很好。但是,有没有办法在没有证书的情况下加密我的数据?
最后......传输和消息安全之间有什么区别?
为了检查我的理解(请原谅这种情况!)消息安全性就像我从 A 人给 B 人发送了一封信,并且我对我的手写进行编码以确保如果有人截获它,他们就无法阅读它?运输安全是如果我决定让我的信由武装运输工具发送,这样沿途就没有人可以拿到它?
是否可以在没有证书的情况下在 WCF 中进行任何形式的加密?我的项目是一个私人项目,我不想购买证书,而且数据也不是那么敏感,所以这只是为了我自己的知识。