如何在HttpWebRequest中使用AES 256密码

Evg*_*niy 3 c# aes httpwebrequest

我的.net 2.0应用程序使用AES 128密码而不是256来对https站点发出POST请求,导致后者失败.如何在HttpWebRequest中使用AES 256密码?

Hem*_*ant 5

HttpWebRequest如果您访问安全URL(https),则会负责SSL/TLS协商.为会话协商的密码套件取决于客户端和服务器的能力.简单来说,它发生在以下步骤:

  • 客户端连接到服务器.
  • 客户端问好,随之而来,它提供了一套加密算法(例如[RSA + AES128 + SHA1],[RSA + AES256 + SHA1],...)
  • 服务器选择它支持的最强大的"算法套件",并通知客户端我们将使用此套件进行当前会话.

因此,要回答你的问题,你需要确保两个客户端和服务器具有AES256能力.

客户端

由于您使用的HttpWebRequest是内部使用Windows API,因此您受Windows API的支配.据我所知,Windows XP和Windows Server 2003不支持TLS 1.0,TLS 1.2,AES 256,SHA 256,ECC等新功能.为此,您的客户端必须在Windows Vista,Windows 7或Windows上运行2008年.

服务器端

由于没有使用服务器的迹象,我无法对其进行任何评论.如果是IIS,则上述文本仍然适用.虽然您需要在IIS中启用某些位.请参阅此优秀文章以获取帮助.

小费

使用网络监视器查看幕后发生的情况.您可以使用WiresharkMicrosoft网络监视器.