SyntheticPasswordCrypto: be less picky about Keystore error codes
Don't assume that the error code for rollback resistance being unavailable is actually KM_ERROR_ROLLBACK_RESISTANCE_UNAVAILABLE, as devices that still use the reference implementation of Keymaster 3 don't use this error code. Bug: 232452368 Bug: 239632930 Bug: 251043073 Change-Id: I0574a376a97a204504614ea01b3d197faade8b78
This commit is contained in:
@@ -17,7 +17,6 @@
|
||||
package com.android.server.locksettings;
|
||||
|
||||
import android.security.AndroidKeyStoreMaintenance;
|
||||
import android.security.keymaster.KeymasterDefs;
|
||||
import android.security.keystore.KeyProperties;
|
||||
import android.security.keystore.KeyProtection;
|
||||
import android.security.keystore2.AndroidKeyStoreLoadStoreParameter;
|
||||
@@ -223,13 +222,6 @@ public class SyntheticPasswordCrypto {
|
||||
keyStore.setEntry(protectorKeyAlias, entry, protRollbackResistant);
|
||||
Slog.i(TAG, "Using rollback-resistant key");
|
||||
} catch (KeyStoreException e) {
|
||||
if (!(e.getCause() instanceof android.security.KeyStoreException)) {
|
||||
throw e;
|
||||
}
|
||||
int errorCode = ((android.security.KeyStoreException) e.getCause()).getErrorCode();
|
||||
if (errorCode != KeymasterDefs.KM_ERROR_ROLLBACK_RESISTANCE_UNAVAILABLE) {
|
||||
throw e;
|
||||
}
|
||||
Slog.w(TAG, "Rollback-resistant keys unavailable. Falling back to "
|
||||
+ "non-rollback-resistant key");
|
||||
keyStore.setEntry(protectorKeyAlias, entry, protNonRollbackResistant);
|
||||
|
||||
Reference in New Issue
Block a user