Use SecureRandom instead of java.util.Random.

The latter might be initialized in the Zygote and return the same
sequence within app restarts.

Bug: 273524418
Fix: 273524418
Test: m
Change-Id: Id85082edffb7b769bb5f78d66b561e5e097227c5
This commit is contained in:
Almaz Mingaleev
2023-03-14 14:07:50 +00:00
parent 2f18344d98
commit 0161968392

View File

@@ -40,7 +40,6 @@ import java.security.InvalidKeyException;
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* Assorted utility methods for implementing crypto operations on top of KeyStore.
@@ -50,7 +49,6 @@ import java.util.Random;
abstract class KeyStoreCryptoOperationUtils {
private static volatile SecureRandom sRng;
private static final Random sRandom = new Random();
private KeyStoreCryptoOperationUtils() {}
@@ -213,7 +211,7 @@ abstract class KeyStoreCryptoOperationUtils {
} else {
// Keystore won't give us an operation challenge if the operation doesn't
// need user authorization. So we make our own.
return sRandom.nextLong();
return getRng().nextLong();
}
}
}