AFNetworking SSL钉住过期的证书

如果在ios应用上使用ssl pinning,如何更新过期的ssl证书? 似乎只有应用程序更新才能更新证书,但不更新应用程序的用户将不会收到此更新。

关键是了解AFSecurityPolicy 的可能值 。

AFSSLPinningModeCertificate表示服务器提供的证书必须完全匹配其中一个固定的证书,默认情况下是您的应用程序包中的证书。 这是您目前使用的模式。

AFSSLPinningModePublicKey表示由服务器提供的证书必须包含与您的应用程序固定的其中一个证书相同的公钥。

如果您使用AFSSLPinningModePublicKey并使用相同的密钥对续订(更新)您的服务器证书,您的iOS应用程序将继续工作而不做任何修改。

为了解决这个问题的第二部分,老版本的用户是被locking的。

为了降低影响,一个共同的策略是将新证书包括在即将到期的证书中。 这给用户一些“缓冲”版本,他们可以在转换后仍然可以访问。