aboutsummaryrefslogtreecommitdiff
path: root/standalone/src/main/resources
diff options
context:
space:
mode:
authorJ08nY2024-03-30 11:12:17 +0100
committerJ08nY2024-03-30 11:12:17 +0100
commitfa5ba0e0e0a3168fdbed27b9c21eada9bb9f1587 (patch)
treeded9587bad1e649216a1396af0cacdf0cb7b4ba1 /standalone/src/main/resources
parent3222a7d206dadeb42422b796389768ac21f976be (diff)
downloadECTester-fa5ba0e0e0a3168fdbed27b9c21eada9bb9f1587.tar.gz
ECTester-fa5ba0e0e0a3168fdbed27b9c21eada9bb9f1587.tar.zst
ECTester-fa5ba0e0e0a3168fdbed27b9c21eada9bb9f1587.zip
Add more suites to tests.
Diffstat (limited to 'standalone/src/main/resources')
-rw-r--r--standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp101
1 files changed, 61 insertions, 40 deletions
diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp
index 9bb99a3..bffa6a3 100644
--- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp
+++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp
@@ -672,28 +672,39 @@ JNIEXPORT jbyteArray JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSig
std::unique_ptr<DL_GroupParameters_EC<ECP>> ecp_group = fp_group_from_params(env, params);
if (ecp_group == nullptr) {
std::unique_ptr<DL_GroupParameters_EC<EC2N>> ec2n_group = f2m_group_from_params(env, params);
- if (type_str.find("SHA1") != std::string::npos) {
- result = sign_message<EC2N, SHA1>(env, *ec2n_group, data, private_key_x);
- } else if (type_str.find("SHA224") != std::string::npos) {
- result = sign_message<EC2N, SHA224>(env, *ec2n_group, data, private_key_x);
- } else if (type_str.find("SHA256") != std::string::npos) {
- result = sign_message<EC2N, SHA256>(env, *ec2n_group, data, private_key_x);
- } else if (type_str.find("SHA384") != std::string::npos) {
- result = sign_message<EC2N, SHA384>(env, *ec2n_group, data, private_key_x);
- } else if (type_str.find("SHA512") != std::string::npos) {
- result = sign_message<EC2N, SHA512>(env, *ec2n_group, data, private_key_x);
+
+ try {
+ if (type_str.find("SHA1") != std::string::npos) {
+ result = sign_message<EC2N, SHA1>(env, *ec2n_group, data, private_key_x);
+ } else if (type_str.find("SHA224") != std::string::npos) {
+ result = sign_message<EC2N, SHA224>(env, *ec2n_group, data, private_key_x);
+ } else if (type_str.find("SHA256") != std::string::npos) {
+ result = sign_message<EC2N, SHA256>(env, *ec2n_group, data, private_key_x);
+ } else if (type_str.find("SHA384") != std::string::npos) {
+ result = sign_message<EC2N, SHA384>(env, *ec2n_group, data, private_key_x);
+ } else if (type_str.find("SHA512") != std::string::npos) {
+ result = sign_message<EC2N, SHA512>(env, *ec2n_group, data, private_key_x);
+ }
+ } catch (Exception & ex) {
+ throw_new(env, "java/security/GeneralSecurityException", ex.what());
+ return nullptr;
}
} else {
- if (type_str.find("SHA1") != std::string::npos) {
- result = sign_message<ECP, SHA1>(env, *ecp_group, data, private_key_x);
- } else if (type_str.find("SHA224") != std::string::npos) {
- result = sign_message<ECP, SHA224>(env, *ecp_group, data, private_key_x);
- } else if (type_str.find("SHA256") != std::string::npos) {
- result = sign_message<ECP, SHA256>(env, *ecp_group, data, private_key_x);
- } else if (type_str.find("SHA384") != std::string::npos) {
- result = sign_message<ECP, SHA384>(env, *ecp_group, data, private_key_x);
- } else if (type_str.find("SHA512") != std::string::npos) {
- result = sign_message<ECP, SHA512>(env, *ecp_group, data, private_key_x);
+ try {
+ if (type_str.find("SHA1") != std::string::npos) {
+ result = sign_message<ECP, SHA1>(env, *ecp_group, data, private_key_x);
+ } else if (type_str.find("SHA224") != std::string::npos) {
+ result = sign_message<ECP, SHA224>(env, *ecp_group, data, private_key_x);
+ } else if (type_str.find("SHA256") != std::string::npos) {
+ result = sign_message<ECP, SHA256>(env, *ecp_group, data, private_key_x);
+ } else if (type_str.find("SHA384") != std::string::npos) {
+ result = sign_message<ECP, SHA384>(env, *ecp_group, data, private_key_x);
+ } else if (type_str.find("SHA512") != std::string::npos) {
+ result = sign_message<ECP, SHA512>(env, *ecp_group, data, private_key_x);
+ }
+ } catch (Exception & ex) {
+ throw_new(env, "java/security/GeneralSecurityException", ex.what());
+ return nullptr;
}
}
@@ -744,28 +755,38 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna
if (ecp_group == nullptr) {
std::unique_ptr<DL_GroupParameters_EC<EC2N>> ec2n_group = f2m_group_from_params(env, params);
- if (type_str.find("SHA1") != std::string::npos) {
- return verify_message<EC2N, SHA1>(env, *ec2n_group, data, signature, pubkey);
- } else if (type_str.find("SHA224") != std::string::npos) {
- return verify_message<EC2N, SHA224>(env, *ec2n_group, data, signature, pubkey);
- } else if (type_str.find("SHA256") != std::string::npos) {
- return verify_message<EC2N, SHA256>(env, *ec2n_group, data, signature, pubkey);
- } else if (type_str.find("SHA384") != std::string::npos) {
- return verify_message<EC2N, SHA384>(env, *ec2n_group, data, signature, pubkey);
- } else if (type_str.find("SHA512") != std::string::npos) {
- return verify_message<EC2N, SHA512>(env, *ec2n_group, data, signature, pubkey);
+ try {
+ if (type_str.find("SHA1") != std::string::npos) {
+ return verify_message<EC2N, SHA1>(env, *ec2n_group, data, signature, pubkey);
+ } else if (type_str.find("SHA224") != std::string::npos) {
+ return verify_message<EC2N, SHA224>(env, *ec2n_group, data, signature, pubkey);
+ } else if (type_str.find("SHA256") != std::string::npos) {
+ return verify_message<EC2N, SHA256>(env, *ec2n_group, data, signature, pubkey);
+ } else if (type_str.find("SHA384") != std::string::npos) {
+ return verify_message<EC2N, SHA384>(env, *ec2n_group, data, signature, pubkey);
+ } else if (type_str.find("SHA512") != std::string::npos) {
+ return verify_message<EC2N, SHA512>(env, *ec2n_group, data, signature, pubkey);
+ }
+ } catch (Exception & ex) {
+ throw_new(env, "java/security/GeneralSecurityException", ex.what());
+ return JNI_FALSE;
}
} else {
- if (type_str.find("SHA1") != std::string::npos) {
- return verify_message<ECP, SHA1>(env, *ecp_group, data, signature, pubkey);
- } else if (type_str.find("SHA224") != std::string::npos) {
- return verify_message<ECP, SHA224>(env, *ecp_group, data, signature, pubkey);
- } else if (type_str.find("SHA256") != std::string::npos) {
- return verify_message<ECP, SHA256>(env, *ecp_group, data, signature, pubkey);
- } else if (type_str.find("SHA384") != std::string::npos) {
- return verify_message<ECP, SHA384>(env, *ecp_group, data, signature, pubkey);
- } else if (type_str.find("SHA512") != std::string::npos) {
- return verify_message<ECP, SHA512>(env, *ecp_group, data, signature, pubkey);
+ try {
+ if (type_str.find("SHA1") != std::string::npos) {
+ return verify_message<ECP, SHA1>(env, *ecp_group, data, signature, pubkey);
+ } else if (type_str.find("SHA224") != std::string::npos) {
+ return verify_message<ECP, SHA224>(env, *ecp_group, data, signature, pubkey);
+ } else if (type_str.find("SHA256") != std::string::npos) {
+ return verify_message<ECP, SHA256>(env, *ecp_group, data, signature, pubkey);
+ } else if (type_str.find("SHA384") != std::string::npos) {
+ return verify_message<ECP, SHA384>(env, *ecp_group, data, signature, pubkey);
+ } else if (type_str.find("SHA512") != std::string::npos) {
+ return verify_message<ECP, SHA512>(env, *ecp_group, data, signature, pubkey);
+ }
+ } catch (Exception & ex) {
+ throw_new(env, "java/security/GeneralSecurityException", ex.what());
+ return JNI_FALSE;
}
}
// unreachable