summaryrefslogtreecommitdiffstats
path: root/crypto/x509/x509_txt.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2018-12-18 09:14:51 +0100
committerRichard Levitte <levitte@openssl.org>2018-12-19 13:33:54 +0100
commitffd2df135a5d9f6d2627bd125f362298430fdc06 (patch)
tree5c13617bd3bbaaef09863e84a444b07d2a9eb5d1 /crypto/x509/x509_txt.c
parent5aa2a7ea41d7137640cb0914807fd1202b920543 (diff)
X509_check_issued: check that signature algo matches signing key algo
This implements 3.5.18 "Consistent Public Key and Signature Algorithms" from RFC 4158 "Internet X.509 Public Key Infrastructure: Certification Path Building" Ref: https://tools.ietf.org/html/rfc4158#section-3.5.18 Fixes #7899 Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> (Merged from https://github.com/openssl/openssl/pull/7919)
Diffstat (limited to 'crypto/x509/x509_txt.c')
-rw-r--r--crypto/x509/x509_txt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/x509/x509_txt.c b/crypto/x509/x509_txt.c
index 299c355123..767d33b48a 100644
--- a/crypto/x509/x509_txt.c
+++ b/crypto/x509/x509_txt.c
@@ -174,6 +174,10 @@ const char *X509_verify_cert_error_string(long n)
return "OCSP verification failed";
case X509_V_ERR_OCSP_CERT_UNKNOWN:
return "OCSP unknown cert";
+ case X509_V_ERR_SIGNATURE_ALGORITHM_MISMATCH:
+ return "Subject signature algorithm and issuer public key algorithm mismatch";
+ case X509_V_ERR_NO_ISSUER_PUBLIC_KEY:
+ return "Issuer certificate doesn't have a public key";
default:
/* Printing an error number into a static buffer is not thread-safe */