package com.amazonaws.internal.keyvaluestore; import android.security.keystore.KeyGenParameterSpec; import androidx.annotation.RequiresApi; import com.amazonaws.logging.Log; import com.amazonaws.logging.LogFactory; import com.google.android.gms.stats.CodePackage; import java.security.Key; import java.security.KeyStore; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; @RequiresApi(api = 23) /* loaded from: classes.dex */ class KeyProvider23 implements KeyProvider { public static final Log logger = LogFactory.getLog(KeyProvider23.class); @Override // com.amazonaws.internal.keyvaluestore.KeyProvider public synchronized Key retrieveKey(String str) { Key key; try { try { KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore"); keyStore.load(null); if (keyStore.containsAlias(str)) { Log log = logger; log.debug("AndroidKeyStore contains keyAlias " + str); log.debug("Loading the encryption key from Android KeyStore."); key = keyStore.getKey(str, null); if (key == null) { throw new KeyNotFoundException("Key is null even though the keyAlias: " + str + " is present in AndroidKeyStore"); } } else { throw new KeyNotFoundException("AndroidKeyStore does not contain the keyAlias: " + str); } } catch (Exception e) { throw new KeyNotFoundException("Error occurred while accessing AndroidKeyStore to retrieve the key for keyAlias: " + str, e); } } catch (Throwable th) { throw th; } return key; } @Override // com.amazonaws.internal.keyvaluestore.KeyProvider public synchronized Key generateKey(String str) { SecretKey generateKey; try { KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore"); keyStore.load(null); if (!keyStore.containsAlias(str)) { KeyGenerator keyGenerator = KeyGenerator.getInstance("AES", "AndroidKeyStore"); keyGenerator.init(new KeyGenParameterSpec.Builder(str, 3).setBlockModes(CodePackage.GCM).setEncryptionPaddings("NoPadding").setKeySize(256).setRandomizedEncryptionRequired(false).build()); generateKey = keyGenerator.generateKey(); logger.info("Generated the encryption key identified by the keyAlias: " + str + " using AndroidKeyStore"); } else { throw new KeyNotGeneratedException("Key already exists for the keyAlias: " + str + " in AndroidKeyStore"); } } catch (Exception e) { throw new KeyNotGeneratedException("Cannot generate a key for alias: " + str + " in AndroidKeyStore", e); } return generateKey; } @Override // com.amazonaws.internal.keyvaluestore.KeyProvider public synchronized void deleteKey(String str) { try { KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore"); keyStore.load(null); keyStore.deleteEntry(str); } catch (Exception e) { logger.error("Error in deleting the key for keyAlias: " + str + " from Android KeyStore.", e); } } }