我们需要在我们的移动应用程序中实现证书固定。我们使用 Appcelerator Titanium 作为框架来构建它。有一个支持证书固定的 AFNetworking 模块。
问题是,如果我们将证书存储在应用程序中并在上传到 App Store/Play Store 的同时捆绑它;如果证书过期会怎样?我们是否必须使用捆绑的更新证书推送另一个更新?或者是否有一种机制可以在移动应用程序中更新证书?
我们需要在我们的移动应用程序中实现证书固定。我们使用 Appcelerator Titanium 作为框架来构建它。有一个支持证书固定的 AFNetworking 模块。
问题是,如果我们将证书存储在应用程序中并在上传到 App Store/Play Store 的同时捆绑它;如果证书过期会怎样?我们是否必须使用捆绑的更新证书推送另一个更新?或者是否有一种机制可以在移动应用程序中更新证书?
如果我们将证书存储在应用程序中并在上传到 App Store/Play Store 时捆绑它;如果证书过期会怎样?
您在应用程序中包含一个信任库,其中包含受信任的 CA 根以验证 SSL 连接。如果根过期,那么您的 SSL 连接将失败。这是预期的行为。您可以忽略它(java - ignore expired ssl certificate),但是您正在降低安全级别,这是包含 trustore 的主要原因
我们是否必须使用捆绑的更新证书推送另一个更新?
此操作将解决问题。请注意,如果您使用受信任的 CA(如威瑞信),证书的过期时间会很长,因此这不是常见的操作。事实上你会提前知道它什么时候到期
或者是否有一种机制可以在移动应用程序中更新证书?
我认为可以在根 CA 过期之前设置一个服务来下载新的信任库,并在带有自定义信任管理器的 Android 应用程序中使用它