如何将 AES 256 密码与 HttpWebRequest 结合使用

发布于 2024-10-21 21:21:09 字数 108 浏览 5 评论 0原文

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

My .net 2.0 application uses AES 128 cipher instead of 256 for POST request to the https site, which cause the latter fail.
How to use AES 256 cipher for HttpWebRequest?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谎言月老 2024-10-28 21:21:09

如果您访问安全 URL (https),​​HttpWebRequest 会负责 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 中的某些位。请参阅这篇优秀文章< /a> 寻求帮助。

提示

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

HttpWebRequest takes care of SSL/TLS negotiation if you access a secure url (https). The cipher suite negotiated for the session depends on the capability of both client and server. In simple words, it happens in below steps:

  • Client connects to server.
  • Client says hello and along with it gives its capability in set of cryptographic algorithms (e.g. [RSA+AES128+SHA1], [RSA+AES256+SHA1], ...)
  • Server picks the strongest "algorithm suite" it supports and notifies the client that we will use this suite for current session.

So to answer your question, you need to make sure that both your client and server has AES256 capability.

Client Side

Since you are using HttpWebRequest which internally uses Windows APIs, you are on the mercy of Windows APIs. As far as I know, Windows XP and Windows Server 2003 don't support new things like TLS 1.0, TLS 1.2, AES 256, SHA 256, ECC etc. For that, your client must be running on Windows Vista, Windows 7 or Windows 2008.

Server Side

Since there is no indication of server in use, I cannot comment anything on it. If it is IIS, above text still applies. Though you will need to enable certain bits in IIS. See this excellent article for help.

Tip

Use a network monitor to see what is happening behind the scenes. You can use Wireshark or Microsoft Network Monitor for this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文