1

我想使用 Tink 库并能够加密和解密数据,但不了解创建主密钥的目的是什么以及如何为其创建主密钥。

 private fun getOrGenerateNewKeysetHandle(): KeysetHandle {
        return AndroidKeysetManager.Builder()
            .withSharedPref(activity, EFE_TINK_KEYSET_NAME, null)
            .withKeyTemplate(AeadKeyTemplates.AES256_GCM)
            .withMasterKeyUri("android-keystore://tink_master_key")
            .build().keysetHandle
    }

在这里,我应该如何创建 tink_master_key?

4

1 回答 1

1

主密钥是 Android Keystore 中的密钥。Tink 通过使用此主密钥对其密钥集进行加密来保护其密钥集。

您不必自己生成主密钥,但如果主密钥尚不存在,Tink 会这样做。

您还可以按照Android Keystore 文档或使用AndroidKeystoreKmsClient.getOrGenerateNewAeadKey生成它。

希望有帮助,泰国人。

于 2019-09-17T18:35:24.883 回答