2014-02-26 100 views

回答

12

关键是要了解the possible valuesAFSecurityPolicypinningMode

AFSSLPinningModeCertificate意味着由服务器提供的证书必须完全匹配的固定证书,默认情况下是在你的应用程序包中的证书之一。这是您目前使用的模式。

AFSSLPinningModePublicKey意味着由服务器提供的证书必须包含相同的公钥,通过您的应用程序固定的证书之一。

如果使用AFSSLPinningModePublicKey和更新(更新)使用相同的密钥对您的服务器证书,您的iOS应用会继续不加修改工作。

+0

确定'AFSSLPinningModePublicKey'意味着服务器必须已经由* *同一个密钥签名,而不是让该证书包含相同的公钥作为一个参考(这通常会更有意义)? – Bruno

+0

@布鲁诺谢谢,我修改了解释,使其更清晰。 –

+0

无论如何,不​​用担心,很好的答案,我实际上只是看着你链接到的文件的底部,它说的确是“*针对固定证书的公钥证实主机证书。*”。 – Bruno

0

为了解决这个问题的第二部分,是与旧版本的用户将被锁定。

为了降低影响,常见的策略是包括即将过期的证书旁边的新证书。这给用户一些'缓冲'版本,他们可以在转换后仍然可以访问。