Skip to content

Commit

Permalink
APPS/pkeyutl: remove wrong check for -verifyrecover regarding too lon…
Browse files Browse the repository at this point in the history
…g sign/verify input

Fixed openssl#25898
  • Loading branch information
DDvO committed Nov 8, 2024
1 parent e545264 commit 9849d2b
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
3 changes: 1 addition & 2 deletions apps/pkeyutl.c
Original file line number Diff line number Diff line change
Expand Up @@ -490,8 +490,7 @@ int pkeyutl_main(int argc, char **argv)

/* Sanity check the input if the input is not raw */
if (!rawin
&& (pkey_op == EVP_PKEY_OP_SIGN || pkey_op == EVP_PKEY_OP_VERIFY
|| pkey_op == EVP_PKEY_OP_VERIFYRECOVER)) {
&& (pkey_op == EVP_PKEY_OP_SIGN || pkey_op == EVP_PKEY_OP_VERIFY)) {
if (buf_inlen > EVP_MAX_MD_SIZE) {
BIO_printf(bio_err,
"Error: The non-raw input data length %d is too long - max supported hashed size is %d\n",
Expand Down
14 changes: 10 additions & 4 deletions test/recipes/20-test_pkeyutl.t
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ use File::Compare qw/compare_text compare/;

setup("test_pkeyutl");

plan tests => 23;
plan tests => 24;

# For the tests below we use the cert itself as the TBS file

Expand Down Expand Up @@ -92,6 +92,7 @@ SKIP: {
"Verify an Ed448 signature against a piece of data, no -rawin");
}

my $sigfile;
sub tsignverify {
my $testtext = shift;
my $privkey = shift;
Expand All @@ -100,7 +101,7 @@ sub tsignverify {

my $data_to_sign = srctop_file('test', 'data.bin');
my $other_data = srctop_file('test', 'data2.bin');
my $sigfile = basename($privkey, '.pem') . '.sig';
$sigfile = basename($privkey, '.pem') . '.sig';

my @args = ();
plan tests => 5;
Expand Down Expand Up @@ -149,7 +150,7 @@ sub tsignverify {
}

SKIP: {
skip "RSA is not supported by this OpenSSL build", 1
skip "RSA is not supported by this OpenSSL build", 3
if disabled("rsa");

subtest "RSA CLI signature generation and verification" => sub {
Expand All @@ -159,13 +160,18 @@ SKIP: {
"-rawin", "-digest", "sha256");
};

ok(run(app((['openssl', 'pkeyutl', '-verifyrecover', '-in', $sigfile,
'-pubin', '-inkey', srctop_file('test', 'testrsapub.pem')]))),
"RSA: Verify signature with -verifyrecover");

subtest "RSA CLI signature and verification with pkeyopt" => sub {
tsignverify("RSA",
srctop_file("test","testrsa.pem"),
srctop_file("test","testrsapub.pem"),
"-rawin", "-digest", "sha256",
"-pkeyopt", "rsa_padding_mode:pss");
};

}

SKIP: {
Expand Down Expand Up @@ -228,7 +234,7 @@ SKIP: {
# openssl pkeyutl -decap -inkey rsa_priv.pem -in encap_out.bin -out decap_out.bin
# decap_out is equal to secret
SKIP: {
skip "RSA is not supported by this OpenSSL build", 3
skip "RSA is not supported by this OpenSSL build", 5
if disabled("rsa");

# Self-compat
Expand Down

0 comments on commit 9849d2b

Please sign in to comment.