的Http从客户端加密到服务器和服务器到客户端

的Http从客户端加密到服务器和服务器到客户端

问题描述:

这里有一个场景:的Http从客户端加密到服务器和服务器到客户端

  1. 桌面应用
  2. 是从Web安装
  3. 需要调用WCF web服务
  4. 传送的数据需要加密从客户端到服务器和服务器到客户端

是否有一个很好理解的解决方案是这样的:

  1. 安全
  2. 易于管理和部署

我猜这是什么归结为是先加密HTTPS是否会发生在两个方向......是吗?或者你需要相互认证吗?

+1

错误... HTTPS,也许? – 2010-07-05 13:35:12

+0

对,我只是想确保一旦握手完成,数据在两个方向都被加密。事实上,它是... http://support.microsoft.com/kb/257591 只有当您需要认证客户端标识作为SSL握手的一部分时,才需要客户端证书 – 2010-07-05 13:52:54

HTTPS是你以后在做什么 - 它确实提供终端到终端加密(客户机到服务器和服务器到客户端)。

只要您可以生成并安装服务器证书,并确保您的客户信任'您的证书颁发机构,那么您就很好。请注意,这不是相互身份验证 - 您的客户知道他们已经联系了正确的服务器,但服务器不知道与谁联系过。

可以通过使用客户端证书提供相互认证,但我认为不属于'易于部署'的要求。

尝试使用HTTP over SSL

+1

您是否指HTTP over SSL? – psmears 2010-07-05 13:38:45

+1

为什么是的,是的,我这样做。 – 2010-07-05 13:40:36

HTTPS工程...

我混淆加密与认证,它们是两个不同的东西。最常见的简单Https只在客户端验证服务器,在许多情况下足够了。可以要求额外的步骤(客户端也具有证书)对服务器的客户端进行身份验证,但这不是必需的。在这两种情况下,SSL握手完成后,使用会话密钥将Https数据从服务器加密到客户端,并将客户端加密到服务器。这一切都在这里描述:

Description of the Secure Sockets Layer (SSL) Handshake