Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从客户端到服务器和服务器到客户端的Http加密_C#_Http_Deployment_Encryption - Fatal编程技术网

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

C# 从客户端到服务器和服务器到客户端的Http加密,c#,http,deployment,encryption,C#,Http,Deployment,Encryption,下面是一个场景: 桌面应用程序 从web安装 需要调用WCF Web服务 传输的数据需要从客户端到服务器以及从服务器到客户端进行加密 是否有一个众所周知的解决方案,即: 稳妥 易于管理和部署 我想这首先归结为https加密是否在两个方向上发生。。。是吗?或者您需要相互验证吗?尝试使用尝试使用HTTPS工作 我混淆了加密和身份验证,它们是两件不同的事情。最常见的简单Https仅向客户端验证服务器,这在许多情况下已经足够。可能需要额外的步骤(客户机也有证书)向服务器验证客户机,但这不是必需的。在这两

下面是一个场景:

  • 桌面应用程序
  • 从web安装
  • 需要调用WCF Web服务
  • 传输的数据需要从客户端到服务器以及从服务器到客户端进行加密
  • 是否有一个众所周知的解决方案,即:

  • 稳妥
  • 易于管理和部署
  • 我想这首先归结为https加密是否在两个方向上发生。。。是吗?或者您需要相互验证吗?

    尝试使用尝试使用HTTPS工作

    我混淆了加密和身份验证,它们是两件不同的事情。最常见的简单Https仅向客户端验证服务器,这在许多情况下已经足够。可能需要额外的步骤(客户机也有证书)向服务器验证客户机,但这不是必需的。在这两种情况下,SSL握手完成后,使用会话密钥将Https数据从服务器加密到客户端,并从客户端加密到服务器。这一切都在这里描述:

    HTTPS有效

    我混淆了加密和身份验证,它们是两件不同的事情。最常见的简单Https仅向客户端验证服务器,这在许多情况下已经足够。可能需要额外的步骤(客户机也有证书)向服务器验证客户机,但这不是必需的。在这两种情况下,SSL握手完成后,使用会话密钥将Https数据从服务器加密到客户端,并从客户端加密到服务器。这一切都在这里描述:


    您所追求的是HTTPS——它确实提供了端到端加密(客户端到服务器和服务器到客户端)

    只要您能够生成并安装服务器证书,并且确保您的客户端“信任”证书的颁发机构,那么您就可以继续了。请注意,这不是相互身份验证-您的客户端知道他们已联系了正确的服务器,但服务器不知道是谁联系了它


    它可以通过使用客户端证书提供相互身份验证,但我认为这不属于“易于部署”的要求。

    HTTPS是您所追求的-它提供端到端加密(客户端到服务器和服务器到客户端)

    只要您能够生成并安装服务器证书,并且确保您的客户端“信任”证书的颁发机构,那么您就可以继续了。请注意,这不是相互身份验证-您的客户端知道他们已联系了正确的服务器,但服务器不知道是谁联系了它


    它可以通过使用客户端证书来提供相互身份验证,但我认为这不属于“易于部署”的要求。

    您是指HTTP over SSL吗?您是指HTTP over SSL吗?是的,我只是想确保握手完成后,数据在两个方向都被加密。确实是。。。只有当您需要作为SSL握手的一部分验证客户端身份时,才需要客户端证书。我只是想确保握手完成后,数据在两个方向上都进行了加密。确实是。。。只有在SSL握手过程中需要验证客户端身份时,才需要客户端证书