1

当我们在我们的应用程序中导入 SSL 证书时,对于证书固定,我们必须每年在证书更新时更新 apk/ipa。

我们能克服这个吗!

参考:https ://infinum.co/the-capsized-eight/articles/securing-mobile-banking-on-android-with-ssl-certificate-pinning

缺点 灵活性较低 - 当您进行 SSL 证书固定时,更改 SSL 证书并不容易。对于每个 SSL 证书更改,您都必须更新应用程序,将其推送到 Google Play 并希望用户安装它。

请指导克服这一点。

4

2 回答 2

0

看看这篇关于证书固定和公钥固定的文章:https ://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning

一个重要的问题是你想要固定什么。如果您不想在每次证书更改时发布新版本,您也可以键入证书的公钥,因为您可以在续订证书时保留相同的公钥,您的应用程序仍然可以使用新证书.

另一种选择不是固定到您的服务器证书,而是固定到 CA 的中间证书或根证书。中间证书的有效期通常更长。

于 2016-11-24T13:00:58.027 回答
0

没有办法克服这一点,但你可以减少这种痛苦:

  • 如果您固定锚证书(CA),则该证书不会经常更改(每 5 年或 10 年)。
  • 比固定证书本身更好的是,您应该将密钥固定在证书中,当您重新颁发证书时该密钥不会更改。
  • 大多数固定库(例如我研究过的那个:https ://github.com/datatheorem/TrustKit )允许您指定固定策略的到期日期,以便在您忘记更新 IPA/APK 时,应用仍然适用于您的用户(但禁用固定,这仍然相对安全)。
于 2017-02-17T20:57:07.487 回答