【问题标题】:How to assure that data gets encrypted when using POST in httpClient在 httpClient 中使用 POST 时如何确保数据被加密
【发布时间】:2018-12-13 10:45:00
【问题描述】:

我正在使用 VS 2017 和 Xamarin 制作应用程序。我计划使用 httpClient (Android)、PostAsync() 将用户名和密码(在请求正文中)发送到我的服务器。

我看过类似答案的例子 Send HTTP Post request in Xamarin Forms C# 只是想知道是否有办法检查发送的数据是否真正加密。 我从https://blog.xamarin.com/securing-web-requests-with-tls-1-2/ 知道 httpClient 会自动加密消息。

问候

【问题讨论】:

  • 您使用的是 HTTPS/SSL 吗?
  • @SushiHangover 在服务器上:是的
  • @ValterEkholm 然后放心,它是加密的。
  • @Todd Menier 我的意思是从 Android 应用程序发送到服务器的数据......现在我计划从 James 的答案中测试 Wireshark
  • 我明白你的意思。如果您通过 HTTPS 调用端点,则整个有效负载将被加密。请阅读how HTTPS works 并了解一切(握手、证书交换、密钥交换、加密)都通过服务器和HttpClient 理解和实现协议为您处理。如果这只是出于好奇或说服自己的练习,那很好,但我不会花大量时间测试这些东西是否有效——它们确实有效。 :)

标签: ssl xamarin dotnet-httpclient


【解决方案1】:

如果您使用SSL 连接到您的服务器,您发送的数据将被加密。这可以通过在连接到您的服务器时简单地使用 https:// 前缀来实现,而不是使用常规的 http 前缀。

正如您所说,您在服务器上使用 SSL,我不会详细介绍实现它的细节,因为它在每个平台上都非常不同。对于将来阅读本文的任何人来说,如果预算有限,最好使用LetsEncrypt,因为它是免费的(尽管您必须经常更新您的证书)。

要验证数据是否已加密,您可以在 Android 模拟器中调试时使用名为 Wireshark 的程序。说明在wireshark 中非常清楚,但是在从您的Android 手机发送请求时,从wireshark 面板中选择域/IP 并查看来自该请求的信息。如果您正确使用 SSL,则应加密数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多