【发布时间】:2014-08-05 22:36:30
【问题描述】:
我的应用目前正在接受所有带有“EasySSLSocketFactory”的不受信任的证书。我想关注网络浏览器的行为,它显示证书信息并要求用户将证书添加到受信任的商店或取消它。
有人知道怎么做吗?谢谢。
【问题讨论】:
-
另见 GitHub 上的moxie0/AndroidPinning。它是一种首次使用信任 (TOFU) 方案。将 Pinning 与常规 X509 验证相结合,它是一个更安全的系统(比浏览器为 CA zoo 提供的系统更好)。
-
我的应用有 1000 多个用户,他们可能会使用他们的自我证书。 Android Pinning 似乎需要这些证书的一些引脚。我对吗?但我不能向用户询问这些别针,因为它会太多。否则新用户将无法使用该应用
-
两个用例:(1)如果证书是由受信任的权威机构颁发的,那么不要提示用户。固定证书并查找意外更改。 (2) 如果证书是自签名的,则在首次使用时信任它,不要提示用户。在这两种情况下:固定证书。然后:(3)如果公钥发生意外变化(pin坏了),则提示用户并警告他们有问题。您可能还想熟悉一下 Peter Gutmann 的 Engineering Security。他谈到了所有这些以及更多......
-
感谢您的快速回复。这可能是一个愚蠢的问题,但我怎样才能固定证书?它的安全性如何?