iPhone HTTP 请求安全

标签 iphone security httprequest

我对这类事情不太了解,所以请原谅我的菜鸟

我正在向服务器发送 HTTP 请求,并且希望服务器知道该请求是真实的,因此我有一个带有证书和 key (由服务器预先制作)的 p12,与我提取的应用程序捆绑在一起并在我向服务器发送请求并收到质询时用作凭据。

但我想知道这有多安全?我的 p12 解密密码位于我的代码中,因此破解我的应用程序二进制文件的人是否无法看到该字符串?如果是这样,那么他们是否能够破坏 p12 并使用它向我的服务器发出恶意请求?

谢谢

最佳答案

您是否考虑过使用 HTTPS 进行客户端证书身份验证?这肯定会解决你的身份验证问题,但我不确定这在 iPhone 中是如何工作的。 (例如,Safari 在选择客户端证书的方式方面存在问题。) 这将在传输级别(HTTP 下的 TLS)进行身份验证。

如果您想在消息级别(在 HTTP 内)执行此操作,您还可以使用通过 header 中的私钥签名的摘要。 已经有一个用于摘要的标准 header ( Content-MD5 ),但由于最近发现的弱点,我不会推荐 MD5。也许尝试 SHA-1 或更高版本。 这些摘要不会被签名,因此您需要一个额外的 header 来对其进行签名(例如 X-Content-RsaWithSha1 ),如果服务器事先不知道需要哪个证书,则可能需要另一个 header 来发送证书。 您还需要支持在服务器端读取和验证这些自定义 header 。

HTTPSec specification尽管我不知道有任何 iPhone 实现,但它解决了 HTTP 级别的消息级安全问题。

关于 p12 文件的安全性,如果您的应用程序打算使用它,如果它捆绑在应用程序中,您将需要以某种方式发送其密码,因此破解二进制文件肯定也会泄露该密码,从而私钥。

关于iPhone HTTP 请求安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3185614/

相关文章:

java - 在 servlet 中使用 request.getSession() 将数据获取到 servlet 的最佳方式?

iphone - iPhone 中图像的直方图

ios - 将实例化的 UIView 从 NIB 约束到其他 UIView

javascript - tinymce 在数据库安全问题中存储生成的标记

java - 如何生成超过 2^30 个组合的随机唯一字符串。我也想扭转这个过程。这可能吗?

php - 站点正在收到对奇怪查询字符串的请求

ajax - $.ajax post 请求 flask 上的错误请求 (400)

iPhone 设置 : create dependent settings?

ios - ios8 中 uialertview 中的复选框

ios - WKWebView - iframe 内容未加载到模拟器/设备中