RFR: 8257769: Cipher.getParameters() throws NPE for ChaCha20-Poly1305
Jamil Nimeh
jnimeh at openjdk.java.net
Mon Dec 7 17:04:13 UTC 2020
On Mon, 7 Dec 2020 15:42:19 GMT, Sean Mullan <mullan at openjdk.org> wrote:
>> This fix corrects a problem where ChaCha20-Poly1305 objects prior to init throw NPE when getParameters() is called. It will now generate parameters containing a random nonce on each pre-init call to getParameters(). Post-initialization calls to the getParameters() method will always return the same set of parameters until the next initialization occurs.
>
> src/java.base/share/classes/com/sun/crypto/provider/ChaCha20Cipher.java line 232:
>
>> 230: // this call should cause a random nonce to be generated.
>> 231: if (!initialized || nonce == null) {
>> 232: nonce = createRandomNonce(null);
>
> Should nonce be a local variable instead? I think you don't want the nonce field to be set unless the caller passes back in the returned params in an init call.
Yes, it should be a local variable. I'll fix this.
-------------
PR: https://git.openjdk.java.net/jdk/pull/1644
More information about the security-dev
mailing list