到目前为止,我已经习惯使用以下代码将我的应用程序机密存储到KeyStore
中:
// creating a instance
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
// generating a secret key
SecretKey secretKey = KeyGenerator.getInstance("AES").generateKey();
// store the secret key
KeyStore.Entry keyStoreEntry = new KeyStore.SecretKeyEntry(secretKey);
ProtectionParameter keyPassword = new PasswordProtection("myPassword".toCharArray());
keyStore.setEntry("mySecretKey", keyStoreEntry, keyPassword);
根据API 14+中的Stackoverflow post,KeyStore
凭据存储受设备解锁密码保护,因此无需ProtectionParameter
。
但如何设置KeyStore
条目而不提供第3个参数?