Merge pull request #489 from alexbakker/fix-keystore-catch

Fix catching ProviderException with KeyStoreException as the cause
This commit is contained in:
Michael Schättgen 2020-07-04 12:04:13 +02:00 committed by GitHub
commit b55bdf8f04
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -63,9 +63,9 @@ public class KeyStoreHandle {
return generator.generateKey();
} catch (ProviderException e) {
// a ProviderException can occur at runtime with buggy Keymaster HAL implementations
// so if this was caused by a KeyStoreException, throw a KeyStoreHandleException instead
// so if this was caused by an android.security.KeyStoreException, throw a KeyStoreHandleException instead
Throwable cause = e.getCause();
if (cause instanceof KeyStoreException) {
if (cause != null && cause.getClass().getName().equals("android.security.KeyStoreException")) {
throw new KeyStoreHandleException(cause);
}
throw e;