移动设备中的证书续订问题

Certificate Renewal Issue in Mobile

我们需要在我们的移动应用程序中实施证书固定。我们使用 Appcelerator Titanium 作为构建它的框架。 AFNetworking 有一个模块支持证书固定。

问题是,如果我们将证书存储在应用程序中并在上传到应用程序商店时将其捆绑;Store/Play;如果证书过期会怎样? 我们是否必须使用捆绑的更新证书推送另一个更新?或者是否有一种机制可以在移动应用程序中更新证书?

if we store the certificate within the app and bundle it whilst being uploaded to the App Store/Play Store; what happens if the certificate expires?

您在应用程序中包含一个信任库,其中包含用于验证 SSL 连接的可信 CA 根。如果根过期,那么您的 SSL 连接将失败。这是预期的行为。您可以忽略它 (java - ignore expired ssl certificate),但这样您就降低了安全级别,这是包含 trustore

的主要原因

Do we have to push another update with the renewed certificate bundled?

此操作将解决问题。请注意,如果您使用受信任的 CA(如 verisign),证书的有效期很长,因此这不会成为常见操作。事实上你会提前知道什么时候到期

Or is there a mechanism to get the certificate updated within the mobile app?

我认为可以设置一个服务来在根 CA 过期之前下载新的 trustore ,并在带有自定义信任管理器的 Android 应用程序中使用它