RFR: 8286908: ECDSA signature should not return parameters

Sean Mullan mullan at openjdk.java.net
Wed May 18 15:32:44 UTC 2022


On Tue, 17 May 2022 19:56:22 GMT, Weijun Wang <weijun at openjdk.org> wrote:

> Let ECDSA's `engineGetParameters()` always return null. At the same time, remove the remembered `sigParams` field. One behavior change is that after calling `setParameter()`, one can call `init()` again with a key using different parameters. I think this should be allowed since we are reusing the signature object with a brand new key.
> 
> `setParameter` is kept unchanged to be able to deal with certificates still having parameters after the signature algorithm object identifier. See https://bugs.openjdk.java.net/browse/JDK-8225745.
> 
> Also added SHA1withECDSA to the no-NULL list in `KnownOIDs`.
> 
> All security-related tests passed.

src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSASignature.java line 518:

> 516:         }
> 517:         if (!(params instanceof ECParameterSpec ecparams)) {
> 518:             throw new InvalidAlgorithmParameterException("No parameter accepted");

This is an odd error message since it does accept ECParameterSpec. Suggest changing the message to "Parameters must be of type ECParameterSpec".

-------------

PR: https://git.openjdk.java.net/jdk/pull/8758



More information about the security-dev mailing list