keyGenerator 中的提供程序和密钥名称

Provider and key name in keyGenerator

假设我们像这样创建一个 instance of KeyStore :

   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,...)
}

我们传进去的keyName取什么名字比较好fun我们应该怎么坚持还是无所谓?

您如何跟踪 of/store 您的 keyName 并不重要。这不是安全问题。您也可以将其保存为源文件中的常量。

这通常称为 Keystore 别名,就像在 documentation. When you generate a key in the keystore, you will have to specify an alias. You will have to use the same alias to refer/access 以后的密钥中一样。

据我所知,别名有两点要记住:

  1. 每个密钥库条目的别名应该是唯一的。
  2. 别名不应仅在大小写上有所不同。根据实现,密钥库别名可能是 case-sensitive/case-insensitive。因此,为了谨慎起见,不要在 KeyStore 中使用仅大小写不同的别名。