RFR: 8260274: Cipher.init(int, key) does not use highest priority provider for random bytes [v3]
Xue-Lei Andrew Fan
xuelei at openjdk.java.net
Wed Mar 17 20:52:50 UTC 2021
On Wed, 17 Mar 2021 20:09:04 GMT, Valerie Peng <valeriep at openjdk.org> wrote:
>> Can someone help review this somewhat trivial change?
>>
>> Updated JCAUtil class to return the cached SecureRandom object only when the provider configuration has not changed.
>> Added a regression test to check the affected classes, i.e. AlgorithmParameterGenerator, KeyPairGenerator, Cipher, KeyAgreement, KeyGenerator.
>>
>> Thanks,
>> Valerie
>
> Valerie Peng has updated the pull request incrementally with one additional commit since the last revision:
>
> Fixed a null race condition
src/java.base/share/classes/sun/security/jca/JCAUtil.java line 86:
> 84: SecureRandom result = def;
> 85: if (result == null) {
> 86: synchronized (JCAUtil.class) {
Could this lock be avoided if set the value in the Providers update (or when the providers list is updated)?
-------------
PR: https://git.openjdk.java.net/jdk/pull/3018
More information about the security-dev
mailing list