YACA_INVALID_PARAM(yaca_context_get_output_length(ctx_ptr.get(), 42, &out_len));
}
+RUNNER_TEST(T2045_yaca_digest_call_order_invalid_param)
+{
+ char output[512];
+ size_t out_len;
+ CtxPtr ctx = digest_init(YACA_DIGEST_SHA512);
+
+ YACA_SUCCESS(yaca_digest_update(ctx.get(), DATA.data(), DATA.size()));
+ YACA_SUCCESS(yaca_digest_finalize(ctx.get(), output, &out_len));
+
+ YACA_INVALID_PARAM(yaca_digest_update(ctx.get(), DATA.data(), DATA.size()));
+}
+
RUNNER_TEST(T2050_yaca_digest_get_output_length, YacaTest)
{
digest_length_test(YACA_DIGEST_MD5, 128);
YACA_INVALID_PARAM(yaca_context_get_output_length(ctx.get(), 0, nullptr));
}
+RUNNER_TEST(T6095_yaca_sign_verify_call_order_invalid_param)
+{
+ KeyPtr key = generate_key(YACA_KEY_TYPE_RSA_PRIV, YACA_KEY_LENGTH_1024BIT);
+ KeyPtr key_pub = extract_public_key(key);
+ CtxPtr ctx_sgn = sign_init(YACA_DIGEST_SHA1, key);
+ CtxPtr ctx_vrf = verify_init(YACA_DIGEST_SHA1, key_pub);
+ size_t output_len = get_output_length(ctx_sgn);
+ Buffer output(output_len);
+
+ YACA_SUCCESS(yaca_sign_finalize(ctx_sgn.get(), output.data(), &output_len));
+ YACA_SUCCESS(yaca_verify_finalize(ctx_vrf.get(), output.data(), output_len));
+
+ YACA_INVALID_PARAM(yaca_sign_update(ctx_sgn.get(), output.data(), output_len));
+ YACA_INVALID_PARAM(yaca_verify_update(ctx_vrf.get(), output.data(), output_len));
+}
+
RUNNER_TEST(T6100_yaca_sign_set_property_invalid_param)
{
KeyPtr key = generate_key(YACA_KEY_TYPE_RSA_PRIV, YACA_KEY_LENGTH_512BIT);
static_cast<void*>(&padding),
sizeof(yaca_padding_e)));
+ ctx_sgn = sign_init(YACA_DIGEST_SHA256, key);
+ size_t output_len = get_output_length(ctx_sgn);
+ Buffer output(output_len);
+ YACA_SUCCESS(yaca_sign_finalize(ctx_sgn.get(), output.data(), &output_len));
+ YACA_INVALID_PARAM(yaca_context_set_property(ctx_sgn.get(), YACA_PROPERTY_PADDING,
+ static_cast<void*>(&padding),
+ sizeof(yaca_padding_e)));
+
+ ctx_vrf = verify_init(YACA_DIGEST_SHA256, key_pub);
+ YACA_SUCCESS(yaca_verify_finalize(ctx_vrf.get(), output.data(), output_len));
+ YACA_INVALID_PARAM(yaca_context_set_property(ctx_vrf.get(), YACA_PROPERTY_PADDING,
+ static_cast<void*>(&padding),
+ sizeof(yaca_padding_e)));
}
RUNNER_TEST(T6120_yaca_sign_get_output_length)
CtxPtr ctx = sign_init(algo, key_prv);
size_t output_len = get_output_length(ctx);
YACA_SUCCESS(yaca_context_set_property(ctx.get(), YACA_PROPERTY_PADDING,
- static_cast<void*>(&padding), sizeof(padding)));
+ static_cast<void*>(&padding),
+ sizeof(yaca_padding_e)));
if (input.size() > 0) {
for (size_t i = 0; i < repeats; i++)
ctx = verify_init(algo, key_pub);
YACA_SUCCESS(yaca_context_set_property(ctx.get(), YACA_PROPERTY_PADDING,
- static_cast<void*>(&padding), sizeof(padding)));
+ static_cast<void*>(&padding),
+ sizeof(yaca_padding_e)));
if (input.size() > 0)
for (size_t i = 0; i < repeats; i++)