· 8 years ago · Nov 22, 2017, 07:10 AM
1@TargetApi(23)
2fun createAndroidKeyStoreSymmetricKey(alias: String): SecretKey {
3 val keyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore")
4 val builder = KeyGenParameterSpec.Builder(alias, KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT)
5 .setBlockModes(KeyProperties.BLOCK_MODE_CBC)
6 .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
7 keyGenerator.init(builder.build())
8 return keyGenerator.generateKey()
9}
10
11fun getAndroidKeyStoreSymmetricKey(alias: String): SecretKey? = keyStore.getKey(alias, null) as SecretKey?