我可以在没有SSL证书的情况下使用WCF安全性吗?

时间:2011-08-22 12:28:47

标签: wcf client-server wcf-security

好的,所以这就是我的场景。

我正在编写一个多站点软件,它允许我监视Windows Server上的进程,内存,服务等。

就WCF而言,每个“站点”都是主机。可能有也可能没有中心distrubition节点,这也是一个主机,但会有一个读取数据的接口 - 这将连接到每个“站点”或分发节点。

是的,所以我想保护这种通信,加密。我不希望使用任何SSL证书,考虑到并非每个站点/客户端都有SSL证书。

我可以这样做吗?使用Message Security可能吗?只有我没有读过这样做的方法。我不知道“Windows身份验证”是否适合这种情况?是吗?一个简单的用户名和/或密码解决方案。 WebsitePanel团队使用WSE的方式大致相同。

感谢您的帮助。

编辑:

所以我需要对此更清楚。

我不希望反正使用SSL /证书。认为我无法控制它。如果我真的不得不,我可以在发送之前使用AES等手动加密代码中的每个信息发送,就像电子邮件中的PGP一样,但我认为这就是Message Security的用途。

这个简单的任务令我感到惊讶,微软和专业人士从未想过要实现它。所有数据都是预先发送的,除非您有相应的加密密钥,否则您可以读取数据。是的,我意识到这与SSL等基本相同。

1 个答案:

答案 0 :(得分:2)

加密需要证书才能真正安全。 WSE允许用户名和密码,但是对于消息加密,它仍然需要证书--WCF以相同的方式完成它。

您可以构建没有证书的加密层,但

  • 你必须完全自己完成 - 你必须实现自定义频道,它将进行加密和解密。
  • 您必须安全地存储加密密钥 - 证书正常运行。密钥泄露后,您的安全性就会消失。这就是使用证书的原因。

Windows身份验证要么再次要求安全传输(基本http身份验证)= HTTPS,要么客户端和服务器必须位于同一个Windows域中(如果您通过Internet与需要VPN的客户端进行通信)。