From 5721961be2520cd25283d742ef80c59400f423af Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Tue, 3 Mar 2020 11:01:21 +0100 Subject: [PATCH] pkcs11-tool: Properly report invalid signatures Comparison is always false because rv <= 0. Thanks lgtm --- src/tools/pkcs11-tool.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tools/pkcs11-tool.c b/src/tools/pkcs11-tool.c index bf8e7bc9..b8e02cac 100644 --- a/src/tools/pkcs11-tool.c +++ b/src/tools/pkcs11-tool.c @@ -2065,7 +2065,7 @@ static void verify_signature(CK_SLOT_ID slot, CK_SESSION_HANDLE session, rv = p11->C_Verify(session, in_buffer, r, sig_buffer, sig_len); } - if (rv != CKR_OK) { + if (rv != CKR_OK && rv != CKR_SIGNATURE_INVALID) { rv = p11->C_VerifyInit(session, &mech, key); if (rv != CKR_OK) p11_fatal("C_VerifyInit", rv); @@ -2080,7 +2080,7 @@ static void verify_signature(CK_SLOT_ID slot, CK_SESSION_HANDLE session, sig_len = r2; rv = p11->C_VerifyFinal(session, sig_buffer, sig_len); - if (rv != CKR_OK) + if (rv != CKR_OK && rv != CKR_SIGNATURE_INVALID) p11_fatal("C_VerifyFinal", rv); }