diff options
| author | J08nY | 2024-08-02 17:41:10 +0200 |
|---|---|---|
| committer | J08nY | 2024-08-02 17:41:10 +0200 |
| commit | be0fc8c2065b22ae761eb1417c0571f6eeddb8b2 (patch) | |
| tree | 74c7864139b2e95043068a2064205d1c7bba9554 /standalone/src | |
| parent | c7ddf947a8f7939c5a29265ef94617de6df7d8ef (diff) | |
| download | ECTester-be0fc8c2065b22ae761eb1417c0571f6eeddb8b2.tar.gz ECTester-be0fc8c2065b22ae761eb1417c0571f6eeddb8b2.tar.zst ECTester-be0fc8c2065b22ae761eb1417c0571f6eeddb8b2.zip | |
Diffstat (limited to 'standalone/src')
| -rw-r--r-- | standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/botan.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/botan.cpp b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/botan.cpp index c5bc5f1..4227997 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/botan.cpp +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/botan.cpp @@ -496,11 +496,16 @@ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSig emsa = "EMSA1(SHA-512)"; } + Botan::Signature_Format sigformat = Botan::Signature_Format::DER_SEQUENCE; + if (type_str.find("ECKCDSA") != std::string::npos) { + sigformat = Botan::Signature_Format::IEEE_1363; + } + jsize data_length = env->GetArrayLength(data); jbyte *data_bytes = env->GetByteArrayElements(data, nullptr); std::vector<uint8_t> sig; try { - Botan::PK_Signer signer(*skey, rng, emsa, Botan::DER_SEQUENCE); + Botan::PK_Signer signer(*skey, rng, emsa, sigformat); native_timing_start(); sig = signer.sign_message((uint8_t*) data_bytes, data_length, rng); @@ -581,6 +586,11 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna emsa = "EMSA1(SHA-512)"; } + Botan::Signature_Format sigformat = Botan::Signature_Format::DER_SEQUENCE; + if (type_str.find("ECKCDSA") != std::string::npos) { + sigformat = Botan::Signature_Format::IEEE_1363; + } + jsize data_length = env->GetArrayLength(data); jsize sig_length = env->GetArrayLength(signature); jbyte *data_bytes = env->GetByteArrayElements(data, nullptr); @@ -589,7 +599,7 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna bool result; try { - Botan::PK_Verifier verifier(*pkey, emsa, Botan::DER_SEQUENCE); + Botan::PK_Verifier verifier(*pkey, emsa, sigformat); native_timing_start(); result = verifier.verify_message((uint8_t*)data_bytes, data_length, (uint8_t*)sig_bytes, sig_length); |
