2
* Path validation result enums
5
* Botan is released under the Simplified BSD License (see license.txt)
8
#ifndef BOTAN_X509_PATH_RESULT_H_
9
#define BOTAN_X509_PATH_RESULT_H_
11
#include <botan/types.h>
16
* Certificate validation status code
18
enum class Certificate_Status_Code {
23
OCSP_RESPONSE_GOOD = 1,
24
OCSP_SIGNATURE_OK = 2,
25
VALID_CRL_CHECKED = 3,
29
FIRST_WARNING_STATUS = 500,
30
CERT_SERIAL_NEGATIVE = 500,
34
FIRST_ERROR_STATUS = 1000,
36
SIGNATURE_METHOD_TOO_WEAK = 1000,
37
UNTRUSTED_HASH = 1001,
38
NO_REVOCATION_DATA = 1002,
39
NO_MATCHING_CRLDP = 1003,
42
CERT_NOT_YET_VALID = 2000,
43
CERT_HAS_EXPIRED = 2001,
44
OCSP_NOT_YET_VALID = 2002,
45
OCSP_HAS_EXPIRED = 2003,
46
CRL_NOT_YET_VALID = 2004,
47
CRL_HAS_EXPIRED = 2005,
49
// Chain generation problems
50
CERT_ISSUER_NOT_FOUND = 3000,
51
CANNOT_ESTABLISH_TRUST = 3001,
52
CERT_CHAIN_LOOP = 3002,
53
CHAIN_LACKS_TRUST_ROOT = 3003,
54
CHAIN_NAME_MISMATCH = 3004,
59
CERT_CHAIN_TOO_LONG = 4002,
60
CA_CERT_NOT_FOR_CERT_ISSUER = 4003,
61
NAME_CONSTRAINT_ERROR = 4004,
64
CA_CERT_NOT_FOR_CRL_ISSUER = 4005,
65
OCSP_CERT_NOT_LISTED = 4006,
66
OCSP_BAD_STATUS = 4007,
69
CERT_NAME_NOMATCH = 4008,
70
UNKNOWN_CRITICAL_EXTENSION = 4009,
71
DUPLICATE_CERT_EXTENSION = 4010,
72
OCSP_SIGNATURE_ERROR = 4501,
73
OCSP_ISSUER_NOT_FOUND = 4502,
74
OCSP_RESPONSE_MISSING_KEYUSAGE = 4503,
75
OCSP_RESPONSE_INVALID = 4504,
76
EXT_IN_V1_V2_CERT = 4505,
77
DUPLICATE_CERT_POLICY = 4506,
80
CERT_IS_REVOKED = 5000,
81
CRL_BAD_SIGNATURE = 5001,
82
SIGNATURE_ERROR = 5002,
83
CERT_PUBKEY_INVALID = 5003,
84
SIGNATURE_ALGO_UNKNOWN = 5004,
85
SIGNATURE_ALGO_BAD_PARAMS = 5005
89
* Convert a status code to a human readable diagnostic message
90
* @param code the certifcate status
91
* @return string literal constant, or nullptr if code unknown
93
BOTAN_PUBLIC_API(2,0) const char* to_string(Certificate_Status_Code code);