Skip to content

Commit be0b3f4

Browse files
Karthikeyan Vasuki Balasubramaniamminbi
authored andcommitted
[AWSKeyValueStore] Add disagnostic messages for key generation and loading in KeyProvider
1 parent 0ef3d31 commit be0b3f4

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

aws-android-sdk-core/src/main/java/com/amazonaws/internal/keyvaluestore/KeyProvider10.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public Key getKey(SharedPreferences sharedPreferences, String keyAlias, Context
4141
try {
4242
// If SharedPreferences contains the key, load it.
4343
if (sharedPreferences.contains(SHARED_PREFERENCES_KEY_NAME_FOR_ENCRYPTION_KEY)) {
44+
logger.debug("Loading the encryption key from SharedPreferences");
4445
final String keyInStringFormat = sharedPreferences
4546
.getString(SHARED_PREFERENCES_KEY_NAME_FOR_ENCRYPTION_KEY, null);
4647
return new SecretKeySpec(Base64.decode(keyInStringFormat), AES_KEY_ALGORITHM);
@@ -55,6 +56,8 @@ public Key getKey(SharedPreferences sharedPreferences, String keyAlias, Context
5556
.putString(SHARED_PREFERENCES_KEY_NAME_FOR_ENCRYPTION_KEY,
5657
Base64.encodeAsString(secretKey.getEncoded()))
5758
.apply();
59+
60+
logger.info("Generated and saved the encryption key to SharedPreferences");
5861
return secretKey;
5962
}
6063
} catch (Exception ex) {

aws-android-sdk-core/src/main/java/com/amazonaws/internal/keyvaluestore/KeyProvider18.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ public Key getKey(SharedPreferences sharedPreferences,
7373

7474
// Check if SharedPreferences has the encrypted AES key
7575
if (sharedPreferences.contains(ENCRYPTED_AES_KEY)) {
76+
logger.debug("Loading the encryption key from SharedPreferences");
7677
String encryptedAesEncryptionKey = sharedPreferences
7778
.getString(ENCRYPTED_AES_KEY, null);
7879
return new SecretKeySpec(
@@ -88,6 +89,8 @@ public Key getKey(SharedPreferences sharedPreferences,
8889
.putString(ENCRYPTED_AES_KEY,
8990
Base64.encodeAsString(rsaEncrypt(keyAlias, aesEncryptionKey.getEncoded())))
9091
.apply();
92+
93+
logger.info("Generated and saved the encryption key to SharedPreferences");
9194
return aesEncryptionKey;
9295
}
9396
} catch (Exception ex) {

aws-android-sdk-core/src/main/java/com/amazonaws/internal/keyvaluestore/KeyProvider23.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,13 @@ public Key getKey(SharedPreferences sharedPreferences,
5555
.setKeySize(CIPHER_AES_GCM_NOPADDING_KEY_LENGTH_IN_BITS) // 256-bit key
5656
.setRandomizedEncryptionRequired(false)
5757
.build());
58-
return generator.generateKey();
58+
Key key = generator.generateKey();
59+
60+
logger.info("Generated the encryption key using Android KeyStore.");
61+
return key;
5962
} else {
6063
logger.debug("AndroidKeyStore contains keyAlias " + keyAlias);
64+
logger.debug("Loading the encryption key from Android KeyStore.");
6165
return keyStore.getKey(keyAlias, null);
6266
}
6367
} catch (Exception ex) {

0 commit comments

Comments
 (0)