aboutsummaryrefslogtreecommitdiff
path: root/standalone/src
diff options
context:
space:
mode:
authorJ08nY2024-08-02 17:41:10 +0200
committerJ08nY2024-08-02 17:41:10 +0200
commitbe0fc8c2065b22ae761eb1417c0571f6eeddb8b2 (patch)
tree74c7864139b2e95043068a2064205d1c7bba9554 /standalone/src
parentc7ddf947a8f7939c5a29265ef94617de6df7d8ef (diff)
downloadECTester-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.cpp14
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);