ios - IOS 应用程序中的硬编码

标签 ios ssl hard-coding

我们有一个 IOS 应用程序,它通过 SSL 连接到 API/服务器。 SSL key 已硬编码在应用程序中,SSL 证书已过期,现在应用程序无法运行。

Q1。我们希望避免将应用程序提交到商店,因为更新应用程序最多需要 2 周的时间。

Q2。我们还想从 CDN/store 获取 SSL key ,这样我们就不会对其进行硬编码。但是,当我们向商店发出调用时,我们如何确保其连接安全?

摆脱这种情况的最佳方法是什么?

最佳答案

很遗憾,除了上传新应用外,可能没有其他办法。在这里您可以看到 users to get App approved 平均需要多长时间- 它不像 2 周那么糟糕,它可以更短(特别是如果它是更新,根据我的经验,那些通常需要更少的时间)

所以对于第二个问题,我建议你不要做。这些 key 应该存在于设备上,无论如何您都必须使用新的代码库更新应用程序。

您也可以更新 key ,然后,如果需要,可以提前更新 key (它不会每个月都过期,如果您有生产应用程序,您可能会不时更新它)。

如果您真的需要下载 key ,那么最安全的方法可能是在服务器端加密 key ,将其发送到设备并在设备上解密(可能使用 AES128、256 或类似的东西)。您还可以使用带有过期时间的签名下载链接来增加额外的安全层(例如 Amazon S3 存储桶提供该功能)。

希望对您有所帮助!

关于ios - IOS 应用程序中的硬编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31581025/

相关文章:

iphone - UIToolbar 的多个类别

ios - 这个 Objective-C 方法应该返回一个 IBAction。为什么没有返回声明?

ios - UIViewRepresentable 在 SwiftUI 中列表单元格内的放置

java - 严重 : error registering connector Tomcat 5. 5

c# - 在没有枚举的情况下在 C# 中实现自己的数据类型?

c# - 避免在 switch 语句中进行硬编码

iphone - 当 UIImageView 离开 UIViewController 的框架时屏蔽它

google-chrome - Chrome最新测试版更新:SSL证书警告

ssl - 设置允许在 CloudFlare 上设置 DNS 的 VPS 上加密

coding-style - 你对硬编码的态度是什么?