假设我们创建KeyStore
的instance
,如下所示:
private val ANDROID_KEYSTORE = "AndroidKeyStore"
val keyStore = KeyStore.getInstance(ANDROID_KEYSTORE)
在代码中设置ANDROID_KEYSTORE
String
的最佳安全方式是什么
对于生成paramsBuilder
,我们使用这样的密钥名称:
private fun createSecretKey(keyName: String){
val paramsBuilder= KeyGenParameterSpec.Builder(keyName,...)
}
选择在fun
中传递的keyName
的最佳名称是什么?我们应该如何坚持,或者这无关紧要
如何对keyName
进行关键跟踪/存储并不重要。这不是安全问题。您还可以将其作为常量保存在源文件中。
这通常被称为Keystore别名,就像在文档中一样。在密钥库中生成密钥时,必须指定一个别名。以后您必须使用相同的别名才能引用/访问密钥。
据我所知,别名有两件事需要记住:
- 每个密钥存储条目的别名都应该是唯一的
- 别名不应仅在大小写上有所不同。根据实现的不同,密钥库别名可能区分大小写/不区分大小写。因此,为了谨慎起见,不要在KeyStore中使用只有大小写不同的别名