Android 9 - exceção KeyStore android.os.ServiceSpecificException
Se eu executar esse código no Android 9, recebo a seguinte exceção:
private static KeyStore.PrivateKeyEntry getPrivateKeyEntry(String alias) {
try {
KeyStore ks = KeyStore
.getInstance(SecurityConstants.KEYSTORE_PROVIDER_ANDROID_KEYSTORE);
ks.load(null);
KeyStore.Entry entry = ks.getEntry(alias, null);
if (entry == null) {
Log.w(TAG, "No key found under alias: " + alias);
Log.w(TAG, "Exiting signData()...");
return null;
}
if (!(entry instanceof KeyStore.PrivateKeyEntry)) {
Log.w(TAG, "Not an instance of a PrivateKeyEntry");
Log.w(TAG, "Exiting signData()...");
return null;
}
return (KeyStore.PrivateKeyEntry) entry;
} catch (Exception e) {
Log.e(TAG, e.getMessage(), e);
return null;
}
}
Exceção:
Exceção KeyStore android.os.ServiceSpecificException: (código 7) em android.os.Parcel.createException (Parcel.java:1956) em android.os.Parcel.readException (Parcel.java:1910) em android.os.Parcel.readException (Parcel.java:1860) em android.security.IKeystoreService $ Stub $ Proxy.get (IKeystoreService.java:786) em android.security.KeyStore.get (KeyStore.java:195) em android.security.keystore.AndroidKeyStoreSpi. engineGetCertificateChain (AndroidKeyStoreSpi.java:118) em java.security.KeyStoreSpi.engineGetEntry (KeyStoreSpi.java:484) em java.security.KeyStore.getEntry (KeyStore.java:1560) em com.phenodevore.testenc.KeyStore .java: 151) em com.phenodev.testenc.KeyStoreHelper.encrypt (KeyStoreHelper.java:173) em com.phenodev.testenc.KeyStoreEncryptor.encrypt (KeyStoreEncryptor.java:19)
Por favor, ajude a corrigi-lo.