I think you are right for key generation that some addition to the supported curve method will needed. With changing some of the exceptions types I'm realizing that the native library was being used more than I thought.

Tony

On 3/3/20 10:42 AM, Anthony Scarpino wrote:
Yes, the exceptions are thrown in the same location because we need the init() and setParameters() set before we can decide if the curve is supported.

The current java implementation falls through to the native code if the java code does not support there curve.  I don't think we need any further methods.

Tony

On 3/2/20 7:09 PM, Weijun Wang wrote:
When the native impl is disabled, and an unsupported curve is used in key pair generation, ECDSA, or ECDH, when will the exception be thrown? Is it at the same place when native impl is enabled? I mean, do we need some sort of java isSupported()?

SecurityTools.java:

If native is disabled, will many tests fail? Is it possible to modify the tests? This is a helper method used by many tests and I'd rather it uses the default setting.

Thanks,
Max

On Mar 3, 2020, at 8:40 AM, Anthony Scarpino <anthony.scarp...@oracle.com> wrote:

Hi

I need a review of the CSR and webrev for disabling by default the native SunEC curves from the API.  With the recent verification changes in JDK-8237218, SunJCE is long dependent on the native code for verifying the constant-time curves.  This disabling can be undone with setting a  system property, jdk.sunec.disableNative.  I'm doing a simultaneous review as changes for one  will likely affect the other.

CSR: https://bugs.openjdk.java.net/browse/JDK-8238911
webrev: https://cr.openjdk.java.net/~ascarpino/8237219/

The curves affected are:
secp112r1, secp112r2, secp128r1, secp128r2, secp160k1, secp160r1, secp160r2, secp192k1, secp192r1, secp224k1, secp224r1, secp256k1, sect113r1, sect113r2, sect131r1, sect131r2, sect163k1, sect163r1, sect163r2, sect193r1, sect193r2, sect233k1, sect233r1, sect239k1, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, X9.62 c2tnb191v1, X9.62 c2tnb191v2, X9.62 c2tnb191v3, X9.62 c2tnb239v1, X9.62 c2tnb239v2, X9.62 c2tnb239v3, X9.62 c2tnb359v1, X9.62 c2tnb431r1, X9.62 prime192v2, X9.62 prime192v3, X9.62 prime239v1, X9.62 prime239v2, X9.62 prime239v3, brainpoolP256r1 brainpoolP320r1, brainpoolP384r1, brainpoolP512r1

Tony



Reply via email to