summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorPW Hu <jlu.hpw@foxmail.com>2021-11-10 00:25:47 +0800
committerTomas Mraz <tomas@openssl.org>2021-11-29 13:50:43 +0100
commit91b749a2726351aa5fb37db7064a9104df074c9b (patch)
treed4f175b80da85e185cd1b5b9fe1bb831cff6d926 /apps
parent94b45c31533421d33d4180b65ebeabfec50a1485 (diff)
Return -1 properly from do_X509_REQ_verify and do_X509_verify
Reviewed-by: Kurt Roeckx <kurt@roeckx.be> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17001) (cherry picked from commit bc42cf51c8b2a22282bb3cdf6303e230dc7b7873)
Diffstat (limited to 'apps')
-rw-r--r--apps/lib/apps.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/apps/lib/apps.c b/apps/lib/apps.c
index 43c01401e8..e01633c5b5 100644
--- a/apps/lib/apps.c
+++ b/apps/lib/apps.c
@@ -2302,23 +2302,35 @@ int do_X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const char *md,
return rv;
}
+/*
+ * do_X509_verify returns 1 if the signature is valid,
+ * 0 if the signature check fails, or -1 if error occurs.
+ */
int do_X509_verify(X509 *x, EVP_PKEY *pkey, STACK_OF(OPENSSL_STRING) *vfyopts)
{
int rv = 0;
if (do_x509_init(x, vfyopts) > 0)
- rv = (X509_verify(x, pkey) > 0);
+ rv = X509_verify(x, pkey);
+ else
+ rv = -1;
return rv;
}
+/*
+ * do_X509_REQ_verify returns 1 if the signature is valid,
+ * 0 if the signature check fails, or -1 if error occurs.
+ */
int do_X509_REQ_verify(X509_REQ *x, EVP_PKEY *pkey,
STACK_OF(OPENSSL_STRING) *vfyopts)
{
int rv = 0;
if (do_x509_req_init(x, vfyopts) > 0)
- rv = (X509_REQ_verify_ex(x, pkey,
- app_get0_libctx(), app_get0_propq()) > 0);
+ rv = X509_REQ_verify_ex(x, pkey,
+ app_get0_libctx(), app_get0_propq());
+ else
+ rv = -1;
return rv;
}