在 OWASP 十大移动设备列表 中,提到永远不允许使用自签名证书。
我想和其他人一起检查为什么会这样?如果我的移动应用程序有一个服务器后端,并且我自己签署了一个密钥对(假设我自己是一个 CA)。如果我使用 pinning,我将使用我自己的 CA 的公钥来检查证书,然后使用服务器的公钥(这部分对我来说似乎很安全——假设攻击者不知道私钥)。
但是,如果我不使用固定,那么存在风险,因为现在 Android 中的默认 CA 不能用于验证证书,我必须使用信任所有证书才能使其工作?
总结:我问的是使用自签名证书而不固定 Android 应用程序的情况。