好的,所以这就是我的场景。
我正在编写一个多站点软件,它允许我监视Windows Server上的进程,内存,服务等。
就WCF而言,每个“站点”都是主机。可能有也可能没有中心distrubition节点,这也是一个主机,但会有一个读取数据的接口 - 这将连接到每个“站点”或分发节点。
是的,所以我想保护这种通信,加密。我不希望使用任何SSL证书,考虑到并非每个站点/客户端都有SSL证书。
我可以这样做吗?使用Message Security可能吗?只有我没有读过这样做的方法。我不知道“Windows身份验证”是否适合这种情况?是吗?一个简单的用户名和/或密码解决方案。 WebsitePanel团队使用WSE的方式大致相同。
感谢您的帮助。
编辑:
所以我需要对此更清楚。
我不希望反正使用SSL /证书。认为我无法控制它。如果我真的不得不,我可以在发送之前使用AES等手动加密代码中的每个信息发送,就像电子邮件中的PGP一样,但我认为这就是Message Security的用途。
这个简单的任务令我感到惊讶,微软和专业人士从未想过要实现它。所有数据都是预先发送的,除非您有相应的加密密钥,否则您可以读取数据。是的,我意识到这与SSL等基本相同。
答案 0 :(得分:2)
加密需要证书才能真正安全。 WSE允许用户名和密码,但是对于消息加密,它仍然需要证书--WCF以相同的方式完成它。
您可以构建没有证书的加密层,但
Windows身份验证要么再次要求安全传输(基本http身份验证)= HTTPS,要么客户端和服务器必须位于同一个Windows域中(如果您通过Internet与需要VPN的客户端进行通信)。