ECTester
ECTester copied to clipboard
Some libraries trigger paramSpec must not be null for ECDSA
The command java -jar standalone/build/libs/ECTesterStandalone.jar ecdsa -n 10 -t NONEwithECDSA openssl
works, but for nettle
it doesn't work:
$ java -jar standalone/build/libs/ECTesterStandalone.jar ecdsa -n 10 -t NONEwithECDSA nettle
index;signTime[nano];verifyTime[nano];data;pubW;privS;signature[NONE];nonce;verified
java.security.spec.InvalidParameterSpecException: paramSpec must not be null
at java.base/sun.security.util.ECParameters.engineInit(ECParameters.java:107)
at java.base/java.security.AlgorithmParameters.init(AlgorithmParameters.java:294)
at cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$Nettle.sign(NativeSignatureSpi.java:582)
at cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$SimpleSignatureSpi.engineSign(NativeSignatureSpi.java:78)
at java.base/java.security.Signature$Delegate.engineSign(Signature.java:1404)
at java.base/java.security.Signature.sign(Signature.java:713)
at cz.crcs.ectester.standalone.ECTesterStandalone.ecdsa(ECTesterStandalone.java:642)
at cz.crcs.ectester.standalone.ECTesterStandalone.run(ECTesterStandalone.java:164)
at cz.crcs.ectester.standalone.ECTesterStandalone.main(ECTesterStandalone.java:846)
Exception in thread "main" java.lang.NullPointerException
at cz.crcs.ectester.standalone.libs.jni.NativeECPublicKey$ANSIX962.getW(NativeECPublicKey.java:54)
at cz.crcs.ectester.standalone.libs.jni.NativeECPublicKey$Nettle.getW(NativeECPublicKey.java:179)
at cz.crcs.ectester.standalone.libs.jni.NativeECPublicKey$ANSIX962.getData(NativeECPublicKey.java:63)
at cz.crcs.ectester.standalone.libs.jni.NativeECPublicKey$Nettle.getData(NativeECPublicKey.java:179)
at cz.crcs.ectester.standalone.libs.jni.NativeSignatureSpi$SimpleSignatureSpi.engineVerify(NativeSignatureSpi.java:85)
at java.base/java.security.Signature$Delegate.engineVerify(Signature.java:1416)
at java.base/java.security.Signature.verify(Signature.java:790)
at cz.crcs.ectester.standalone.ECTesterStandalone.ecdsa(ECTesterStandalone.java:652)
at cz.crcs.ectester.standalone.ECTesterStandalone.run(ECTesterStandalone.java:164)
at cz.crcs.ectester.standalone.ECTesterStandalone.main(ECTesterStandalone.java:846)
At least from the output of list-libs
it seems like it should be supported:
- Nettle
- Fullname: Nettle
- Version: 3.9
- Supports native timing: [cputime-processor, cputime-thread, monotonic, monotonic-raw, rdtsc]
- KeyPairGenerators: EC
- KeyAgreements: ECDH
- Signatures: NONEwithECDSA
- Curves: secp192r1, secp224r1, secp256r1, secp384r1, secp521r1
Maybe a correct curve needs to be input from the CLI?