我正在使用海绵城堡 PKCS10CertificationRequest CSR 向 RESTful 证书颁发机构进行身份验证。我正在考虑使用 Android Authenticator。
根据:https ://stuff.mit.edu/afs/sipb/project/android/docs/training/id-auth/custom_auth.html#Security
重要的是要了解 AccountManager 不是加密服务或钥匙串。它以纯文本形式存储帐户凭据,就像您传递它们一样。在大多数设备上,这不是一个特别的问题,因为它将它们存储在一个只能由 root 访问的数据库中。但是在有根设备上,任何对设备具有 adb 访问权限的人都可以读取凭据。
考虑到这一点,您不应将用户的实际密码传递给 AccountManager.addAccountExplicitly()。相反,您应该存储一个对攻击者来说用途有限的加密安全令牌。
我的问题:我不确定在这种情况下存储加密安全令牌是什么意思。这个令牌在 Android Java 中是什么样的(它的类型?)?以及存放在哪里?在钥匙串里??除了 addAccountExplicitly() 中的 pw 之外,该令牌是否在任何其他上下文中使用?