Я хочу импортировать секретный ключ, который генерируется из данного байтового массива, в Android Keystore. Но возникает некоторое исключение.
Кто-нибудь знает, как импортировать секретный ключ в этой ситуации?
Я попробовал следующий код:
try {
byte[] keyBytes = new byte {0x31,0x32,0x33};
SecretKeySpec signingKey = new SecretKeySpec(keyBytes, "HmacSHA256");
KeyStore ks = KeyStore.getInstance("AndroidKeyStore");
ks.load(null);
KeyStore.SecretKeyEntry entry = new KeyStore.SecretKeyEntry(signingKey);
ks.setEntry("my_key", entry,
new KeyProtection.Builder(KeyProperties.PURPOSE_SIGN).build());
} catch (Exception ex) {
ex.printStackTrace();
}
Исключение составляет:
W/System.err: java.security.KeyStoreException: Failed to import secret key. Keystore error code: -6
W/System.err: at android.security.keystore.AndroidKeyStoreSpi.setSecretKeyEntry(AndroidKeyStoreSpi.java:742)
W/System.err: at
android.security.keystore.AndroidKeyStoreSpi.engineSetEntry(AndroidKeyStoreSpi.java:1060)
W/System.err: at
java.security.KeyStore.setEntry(KeyStore.java:1596)