Skip to content

Commit 7f4db90

Browse files
committed
Include key aliases in error message
1 parent 094ecf0 commit 7f4db90

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

ext/openssl/ossl_pkey.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ add_parameter_to_builder(VALUE key, VALUE value, VALUE arg) {
498498
case OSSL_PARAM_UTF8_PTR:
499499
case OSSL_PARAM_OCTET_PTR:
500500
OSSL_PARAM_BLD_free(params->param_bld);
501-
ossl_raise(ePKeyError, "Unsupported parameter \"%s\", type is not implemented", key_ptr);
501+
ossl_raise(ePKeyError, "Unsupported parameter \"%s\", handling of OSSL_PARAM_UTF8_PTR and OSSL_PARAM_OCTET_PTR not implemented", key_ptr);
502502
break;
503503
}
504504

@@ -517,6 +517,13 @@ add_parameter_to_builder(VALUE key, VALUE value, VALUE arg) {
517517
cur += snprintf(cur, end-cur, fmt, settable_params->key);
518518
}
519519

520+
for(size_t i = 0; i < params->nAliases; i++) {
521+
const char *fmt = cur == message_buffer ? "%s" : ", %s";
522+
if (cur > end)
523+
break;
524+
cur += snprintf(cur, end-cur, fmt, params->aliases[i].alias);
525+
}
526+
520527
ossl_raise(ePKeyError, "Invalid parameter \"%s\". Supported parameters: \"%s\"", key_ptr, message_buffer);
521528
}
522529

test/openssl/test_pkey.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ def test_s_from_parameters_ed25519
372372

373373
def test_s_from_parameters_ed25519_with_invalid_parameters
374374
e = assert_raise(OpenSSL::PKey::PKeyError) { OpenSSL::PKey.from_parameters("ED25519", invalid: 12345) }
375-
assert_equal 'Invalid parameter "invalid". Supported parameters: "pub, priv"', e.message
375+
assert_equal 'Invalid parameter "invalid". Supported parameters: "pub, priv, pub_key, priv_key"', e.message
376376
end
377377
else
378378
def test_from_parameter_raises_on_pre_3_openssl

0 commit comments

Comments
 (0)