Files
rr3-apk/decompiled/sources/com/amazonaws/internal/keyvaluestore/KeyProvider23.java
Daniel Elliott f9d20bb3fc Add decompiled APK source code (JADX)
- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 14:52:23 -08:00

76 lines
3.3 KiB
Java

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);
}
}
}