I am learning about cryptography and I am trying to create a hybrid certificate following the video "Post-Quantum Cryptography – Create Hybrid Certificates using Bouncy Castle Kotlin", and I am getting the following error:
Exception in thread "main" java.lang.IllegalArgumentException: unknown parameter name: MLDSA2
at org.bouncycastle.jcajce.spec.MLDSAParameterSpec.fromName(Unknown Source)
at KCryptoServices$Companion.signingKeyPair(KCryptoServices.kt:121)
at org.bouncycastle.kcrypto.dsl.SigningKeyBuilder.signingKeyPair(KCryptoServicesDsl.kt:26)
at org.bouncycastle.kcrypto.dsl.KCryptoServicesDslKt.signingKeyPair(KCryptoServicesDsl.kt:46)
at MakeDualCertificateAndDualCrlKt.main(MakeDualCertificateAndDualCrl.kt:24)
at MakeDualCertificateAndDualCrlKt.main(MakeDualCertificateAndDualCrl.kt)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.jetbrains.kotlin.runner.AbstractRunner.run(runners.kt:70)
at org.jetbrains.kotlin.runner.Main.run(Main.kt:183)
at org.jetbrains.kotlin.runner.Main.main(Main.kt:193)
Hello everyone,
I am writing to ask for your help.
I am learning about cryptography and I am trying to create a hybrid certificate following the video "Post-Quantum Cryptography – Create Hybrid Certificates using Bouncy Castle Kotlin", and I am getting the following error:
Exception in thread "main" java.lang.IllegalArgumentException: unknown parameter name: MLDSA2 at org.bouncycastle.jcajce.spec.MLDSAParameterSpec.fromName(Unknown Source) at KCryptoServices$Companion.signingKeyPair(KCryptoServices.kt:121) at org.bouncycastle.kcrypto.dsl.SigningKeyBuilder.signingKeyPair(KCryptoServicesDsl.kt:26) at org.bouncycastle.kcrypto.dsl.KCryptoServicesDslKt.signingKeyPair(KCryptoServicesDsl.kt:46) at MakeDualCertificateAndDualCrlKt.main(MakeDualCertificateAndDualCrl.kt:24) at MakeDualCertificateAndDualCrlKt.main(MakeDualCertificateAndDualCrl.kt) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.jetbrains.kotlin.runner.AbstractRunner.run(runners.kt:70) at org.jetbrains.kotlin.runner.Main.run(Main.kt:183) at org.jetbrains.kotlin.runner.Main.main(Main.kt:193)
The command I am running is:
kotlin -cp ../kcrypto/build/libs/bc-kcrypto-0.0.9.jar:../bc-jars-reg/bcprov-jdk18on-1.79.jar:../bc-jars-reg/bcpkix-jdk18on-1.79.jar:../bc-jars-reg/bcutil-jdk18on-1.79.jar:../examples/build/classes/kotlin/main MakeDualCertificateAndDualCrlKt
For me:
kotlinc-jvm 2.0.21 (JRE 11.0.25+9-post-Ubuntu-1ubuntu124.04) Kotlin version 2.0.21-release-482 (JRE 11.0.25+9-post-Ubuntu-1ubuntu124.04) Gradle 7.4
Could you please comment on what I could be doing wrong?
Best regards