Go to the documentation of this file.
31 #ifndef _X509_COMMON_H
32 #define _X509_COMMON_H
44 #ifndef X509_SIGN_CALLBACK_SUPPORT
45 #define X509_SIGN_CALLBACK_SUPPORT DISABLED
46 #elif (X509_SIGN_CALLBACK_SUPPORT != ENABLED && X509_SIGN_CALLBACK_SUPPORT != DISABLED)
47 #error X509_SIGN_CALLBACK_SUPPORT parameter is not valid
51 #ifndef X509_RSA_SUPPORT
52 #define X509_RSA_SUPPORT ENABLED
53 #elif (X509_RSA_SUPPORT != ENABLED && X509_RSA_SUPPORT != DISABLED)
54 #error X509_RSA_SUPPORT
58 #ifndef X509_RSA_PSS_SUPPORT
59 #define X509_RSA_PSS_SUPPORT DISABLED
60 #elif (X509_RSA_PSS_SUPPORT != ENABLED && X509_RSA_PSS_SUPPORT != DISABLED)
61 #error X509_RSA_PSS_SUPPORT
65 #ifndef X509_DSA_SUPPORT
66 #define X509_DSA_SUPPORT DISABLED
67 #elif (X509_DSA_SUPPORT != ENABLED && X509_DSA_SUPPORT != DISABLED)
68 #error X509_DSA_SUPPORT parameter is not valid
72 #ifndef X509_ECDSA_SUPPORT
73 #define X509_ECDSA_SUPPORT ENABLED
74 #elif (X509_ECDSA_SUPPORT != ENABLED && X509_ECDSA_SUPPORT != DISABLED)
75 #error X509_ECDSA_SUPPORT parameter is not valid
79 #ifndef X509_MD5_SUPPORT
80 #define X509_MD5_SUPPORT DISABLED
81 #elif (X509_MD5_SUPPORT != ENABLED && X509_MD5_SUPPORT != DISABLED)
82 #error X509_MD5_SUPPORT parameter is not valid
86 #ifndef X509_SHA1_SUPPORT
87 #define X509_SHA1_SUPPORT DISABLED
88 #elif (X509_SHA1_SUPPORT != ENABLED && X509_SHA1_SUPPORT != DISABLED)
89 #error X509_SHA1_SUPPORT parameter is not valid
93 #ifndef X509_SHA224_SUPPORT
94 #define X509_SHA224_SUPPORT DISABLED
95 #elif (X509_SHA224_SUPPORT != ENABLED && X509_SHA224_SUPPORT != DISABLED)
96 #error X509_SHA224_SUPPORT parameter is not valid
100 #ifndef X509_SHA256_SUPPORT
101 #define X509_SHA256_SUPPORT ENABLED
102 #elif (X509_SHA256_SUPPORT != ENABLED && X509_SHA256_SUPPORT != DISABLED)
103 #error X509_SHA256_SUPPORT parameter is not valid
107 #ifndef X509_SHA384_SUPPORT
108 #define X509_SHA384_SUPPORT ENABLED
109 #elif (X509_SHA384_SUPPORT != ENABLED && X509_SHA384_SUPPORT != DISABLED)
110 #error X509_SHA384_SUPPORT parameter is not valid
114 #ifndef X509_SHA512_SUPPORT
115 #define X509_SHA512_SUPPORT ENABLED
116 #elif (X509_SHA512_SUPPORT != ENABLED && X509_SHA512_SUPPORT != DISABLED)
117 #error X509_SHA512_SUPPORT parameter is not valid
121 #ifndef X509_SHA3_224_SUPPORT
122 #define X509_SHA3_224_SUPPORT DISABLED
123 #elif (X509_SHA3_224_SUPPORT != ENABLED && X509_SHA3_224_SUPPORT != DISABLED)
124 #error X509_SHA3_224_SUPPORT parameter is not valid
128 #ifndef X509_SHA3_256_SUPPORT
129 #define X509_SHA3_256_SUPPORT DISABLED
130 #elif (X509_SHA3_256_SUPPORT != ENABLED && X509_SHA3_256_SUPPORT != DISABLED)
131 #error X509_SHA3_256_SUPPORT parameter is not valid
135 #ifndef X509_SHA3_384_SUPPORT
136 #define X509_SHA3_384_SUPPORT DISABLED
137 #elif (X509_SHA3_384_SUPPORT != ENABLED && X509_SHA3_384_SUPPORT != DISABLED)
138 #error X509_SHA3_384_SUPPORT parameter is not valid
142 #ifndef X509_SHA3_512_SUPPORT
143 #define X509_SHA3_512_SUPPORT DISABLED
144 #elif (X509_SHA3_512_SUPPORT != ENABLED && X509_SHA3_512_SUPPORT != DISABLED)
145 #error X509_SHA3_512_SUPPORT parameter is not valid
149 #ifndef X509_SM3_SUPPORT
150 #define X509_SM3_SUPPORT DISABLED
151 #elif (X509_SM3_SUPPORT != ENABLED && X509_SM3_SUPPORT != DISABLED)
152 #error X509_SM3_SUPPORT parameter is not valid
156 #ifndef X509_SECP112R1_SUPPORT
157 #define X509_SECP112R1_SUPPORT DISABLED
158 #elif (X509_SECP112R1_SUPPORT != ENABLED && X509_SECP112R1_SUPPORT != DISABLED)
159 #error X509_SECP112R1_SUPPORT parameter is not valid
163 #ifndef X509_SECP112R2_SUPPORT
164 #define X509_SECP112R2_SUPPORT DISABLED
165 #elif (X509_SECP112R2_SUPPORT != ENABLED && X509_SECP112R2_SUPPORT != DISABLED)
166 #error X509_SECP112R2_SUPPORT parameter is not valid
170 #ifndef X509_SECP128R1_SUPPORT
171 #define X509_SECP128R1_SUPPORT DISABLED
172 #elif (X509_SECP128R1_SUPPORT != ENABLED && X509_SECP128R1_SUPPORT != DISABLED)
173 #error X509_SECP128R1_SUPPORT parameter is not valid
177 #ifndef X509_SECP128R2_SUPPORT
178 #define X509_SECP128R2_SUPPORT DISABLED
179 #elif (X509_SECP128R2_SUPPORT != ENABLED && X509_SECP128R2_SUPPORT != DISABLED)
180 #error X509_SECP128R2_SUPPORT parameter is not valid
184 #ifndef X509_SECP160K1_SUPPORT
185 #define X509_SECP160K1_SUPPORT DISABLED
186 #elif (X509_SECP160K1_SUPPORT != ENABLED && X509_SECP160K1_SUPPORT != DISABLED)
187 #error X509_SECP160K1_SUPPORT parameter is not valid
191 #ifndef X509_SECP160R1_SUPPORT
192 #define X509_SECP160R1_SUPPORT DISABLED
193 #elif (X509_SECP160R1_SUPPORT != ENABLED && X509_SECP160R1_SUPPORT != DISABLED)
194 #error X509_SECP160R1_SUPPORT parameter is not valid
198 #ifndef X509_SECP160R2_SUPPORT
199 #define X509_SECP160R2_SUPPORT DISABLED
200 #elif (X509_SECP160R2_SUPPORT != ENABLED && X509_SECP160R2_SUPPORT != DISABLED)
201 #error X509_SECP160R2_SUPPORT parameter is not valid
205 #ifndef X509_SECP192K1_SUPPORT
206 #define X509_SECP192K1_SUPPORT DISABLED
207 #elif (X509_SECP192K1_SUPPORT != ENABLED && X509_SECP192K1_SUPPORT != DISABLED)
208 #error X509_SECP192K1_SUPPORT parameter is not valid
212 #ifndef X509_SECP192R1_SUPPORT
213 #define X509_SECP192R1_SUPPORT DISABLED
214 #elif (X509_SECP192R1_SUPPORT != ENABLED && X509_SECP192R1_SUPPORT != DISABLED)
215 #error X509_SECP192R1_SUPPORT parameter is not valid
219 #ifndef X509_SECP224K1_SUPPORT
220 #define X509_SECP224K1_SUPPORT DISABLED
221 #elif (X509_SECP224K1_SUPPORT != ENABLED && X509_SECP224K1_SUPPORT != DISABLED)
222 #error X509_SECP224K1_SUPPORT parameter is not valid
226 #ifndef X509_SECP224R1_SUPPORT
227 #define X509_SECP224R1_SUPPORT DISABLED
228 #elif (X509_SECP224R1_SUPPORT != ENABLED && X509_SECP224R1_SUPPORT != DISABLED)
229 #error X509_SECP224R1_SUPPORT parameter is not valid
233 #ifndef X509_SECP256K1_SUPPORT
234 #define X509_SECP256K1_SUPPORT DISABLED
235 #elif (X509_SECP256K1_SUPPORT != ENABLED && X509_SECP256K1_SUPPORT != DISABLED)
236 #error X509_SECP256K1_SUPPORT parameter is not valid
240 #ifndef X509_SECP256R1_SUPPORT
241 #define X509_SECP256R1_SUPPORT ENABLED
242 #elif (X509_SECP256R1_SUPPORT != ENABLED && X509_SECP256R1_SUPPORT != DISABLED)
243 #error X509_SECP256R1_SUPPORT parameter is not valid
247 #ifndef X509_SECP384R1_SUPPORT
248 #define X509_SECP384R1_SUPPORT ENABLED
249 #elif (X509_SECP384R1_SUPPORT != ENABLED && X509_SECP384R1_SUPPORT != DISABLED)
250 #error X509_SECP384R1_SUPPORT parameter is not valid
254 #ifndef X509_SECP521R1_SUPPORT
255 #define X509_SECP521R1_SUPPORT ENABLED
256 #elif (X509_SECP521R1_SUPPORT != ENABLED && X509_SECP521R1_SUPPORT != DISABLED)
257 #error X509_SECP521R1_SUPPORT parameter is not valid
261 #ifndef X509_BRAINPOOLP160R1_SUPPORT
262 #define X509_BRAINPOOLP160R1_SUPPORT DISABLED
263 #elif (X509_BRAINPOOLP160R1_SUPPORT != ENABLED && X509_BRAINPOOLP160R1_SUPPORT != DISABLED)
264 #error X509_BRAINPOOLP160R1_SUPPORT parameter is not valid
268 #ifndef X509_BRAINPOOLP192R1_SUPPORT
269 #define X509_BRAINPOOLP192R1_SUPPORT DISABLED
270 #elif (X509_BRAINPOOLP192R1_SUPPORT != ENABLED && X509_BRAINPOOLP192R1_SUPPORT != DISABLED)
271 #error X509_BRAINPOOLP192R1_SUPPORT parameter is not valid
275 #ifndef X509_BRAINPOOLP224R1_SUPPORT
276 #define X509_BRAINPOOLP224R1_SUPPORT DISABLED
277 #elif (X509_BRAINPOOLP224R1_SUPPORT != ENABLED && X509_BRAINPOOLP224R1_SUPPORT != DISABLED)
278 #error X509_BRAINPOOLP224R1_SUPPORT parameter is not valid
282 #ifndef X509_BRAINPOOLP256R1_SUPPORT
283 #define X509_BRAINPOOLP256R1_SUPPORT DISABLED
284 #elif (X509_BRAINPOOLP256R1_SUPPORT != ENABLED && X509_BRAINPOOLP256R1_SUPPORT != DISABLED)
285 #error X509_BRAINPOOLP256R1_SUPPORT parameter is not valid
289 #ifndef X509_BRAINPOOLP320R1_SUPPORT
290 #define X509_BRAINPOOLP320R1_SUPPORT DISABLED
291 #elif (X509_BRAINPOOLP320R1_SUPPORT != ENABLED && X509_BRAINPOOLP320R1_SUPPORT != DISABLED)
292 #error X509_BRAINPOOLP320R1_SUPPORT parameter is not valid
296 #ifndef X509_BRAINPOOLP384R1_SUPPORT
297 #define X509_BRAINPOOLP384R1_SUPPORT DISABLED
298 #elif (X509_BRAINPOOLP384R1_SUPPORT != ENABLED && X509_BRAINPOOLP384R1_SUPPORT != DISABLED)
299 #error X509_BRAINPOOLP384R1_SUPPORT parameter is not valid
303 #ifndef X509_BRAINPOOLP512R1_SUPPORT
304 #define X509_BRAINPOOLP512R1_SUPPORT DISABLED
305 #elif (X509_BRAINPOOLP512R1_SUPPORT != ENABLED && X509_BRAINPOOLP512R1_SUPPORT != DISABLED)
306 #error X509_BRAINPOOLP512R1_SUPPORT parameter is not valid
310 #ifndef X509_FRP256V1_SUPPORT
311 #define X509_FRP256V1_SUPPORT DISABLED
312 #elif (X509_FRP256V1_SUPPORT != ENABLED && X509_FRP256V1_SUPPORT != DISABLED)
313 #error X509_FRP256V1_SUPPORT parameter is not valid
317 #ifndef X509_SM2_SUPPORT
318 #define X509_SM2_SUPPORT DISABLED
319 #elif (X509_SM2_SUPPORT != ENABLED && X509_SM2_SUPPORT != DISABLED)
320 #error X509_SM2_SUPPORT parameter is not valid
324 #ifndef X509_ED25519_SUPPORT
325 #define X509_ED25519_SUPPORT DISABLED
326 #elif (X509_ED25519_SUPPORT != ENABLED && X509_ED25519_SUPPORT != DISABLED)
327 #error X509_ED25519_SUPPORT parameter is not valid
331 #ifndef X509_ED448_SUPPORT
332 #define X509_ED448_SUPPORT DISABLED
333 #elif (X509_ED448_SUPPORT != ENABLED && X509_ED448_SUPPORT != DISABLED)
334 #error X509_ED448_SUPPORT parameter is not valid
338 #ifndef X509_MIN_RSA_MODULUS_SIZE
339 #define X509_MIN_RSA_MODULUS_SIZE 1024
340 #elif (X509_MIN_RSA_MODULUS_SIZE < 512)
341 #error X509_MIN_RSA_MODULUS_SIZE parameter is not valid
345 #ifndef X509_MAX_RSA_MODULUS_SIZE
346 #define X509_MAX_RSA_MODULUS_SIZE 4096
347 #elif (X509_MAX_RSA_MODULUS_SIZE < X509_MIN_RSA_MODULUS_SIZE)
348 #error X509_MAX_RSA_MODULUS_SIZE parameter is not valid
352 #ifndef X509_MIN_DSA_MODULUS_SIZE
353 #define X509_MIN_DSA_MODULUS_SIZE 1024
354 #elif (X509_MIN_DSA_MODULUS_SIZE < 512)
355 #error X509_MIN_DSA_MODULUS_SIZE parameter is not valid
359 #ifndef X509_MAX_DSA_MODULUS_SIZE
360 #define X509_MAX_DSA_MODULUS_SIZE 4096
361 #elif (X509_MAX_DSA_MODULUS_SIZE < X509_MIN_DSA_MODULUS_SIZE)
362 #error X509_MAX_DSA_MODULUS_SIZE parameter is not valid
366 #ifndef X509_SERIAL_NUMBER_SIZE
367 #define X509_SERIAL_NUMBER_SIZE 20
368 #elif (X509_SERIAL_NUMBER_SIZE < 1)
369 #error X509_SERIAL_NUMBER_SIZE parameter is not valid
373 #ifndef X509_MAX_DOMAIN_COMPONENTS
374 #define X509_MAX_DOMAIN_COMPONENTS 4
375 #elif (X509_MAX_DOMAIN_COMPONENTS < 1)
376 #error X509_MAX_DOMAIN_COMPONENTS parameter is not valid
380 #ifndef X509_MAX_SUBJECT_ALT_NAMES
381 #define X509_MAX_SUBJECT_ALT_NAMES 4
382 #elif (X509_MAX_SUBJECT_ALT_NAMES < 1)
383 #error X509_MAX_SUBJECT_ALT_NAMES parameter is not valid
387 #ifndef X509_MAX_CERT_ISSUERS
388 #define X509_MAX_CERT_ISSUERS 4
389 #elif (X509_MAX_CERT_ISSUERS < 1)
390 #error X509_MAX_CERT_ISSUERS parameter is not valid
394 #ifndef X509_MAX_CRL_ISSUERS
395 #define X509_MAX_CRL_ISSUERS 2
396 #elif (X509_MAX_CRL_ISSUERS < 1)
397 #error X509_MAX_CRL_ISSUERS parameter is not valid
401 #ifndef X509_MAX_DISTR_POINTS
402 #define X509_MAX_DISTR_POINTS 2
403 #elif (X509_MAX_DISTR_POINTS < 1)
404 #error X509_MAX_DISTR_POINTS parameter is not valid
408 #ifndef X509_MAX_FULL_NAMES
409 #define X509_MAX_FULL_NAMES 2
410 #elif (X509_MAX_FULL_NAMES < 1)
411 #error X509_MAX_FULL_NAMES parameter is not valid
415 #ifndef X509_MAX_ACCESS_DESCRIPTIONS
416 #define X509_MAX_ACCESS_DESCRIPTIONS 2
417 #elif (X509_MAX_ACCESS_DESCRIPTIONS < 1)
418 #error X509_MAX_ACCESS_DESCRIPTIONS parameter is not valid
422 #ifndef X509_MAX_CUSTOM_EXTENSIONS
423 #define X509_MAX_CUSTOM_EXTENSIONS 2
424 #elif (X509_MAX_CUSTOM_EXTENSIONS < 1)
425 #error X509_MAX_CUSTOM_EXTENSIONS parameter is not valid
429 #ifndef X509_PRIVATE_EXTENSIONS
430 #define X509_PRIVATE_EXTENSIONS
794 #if (RSA_SUPPORT == ENABLED)
797 #if (DSA_SUPPORT == ENABLED)
801 #if (EC_SUPPORT == ENABLED || ED25519_SUPPORT == ENABLED || ED448_SUPPORT == ENABLED)
1042 #if (X509_RSA_PSS_SUPPORT == ENABLED && RSA_SUPPORT == ENABLED)
@ X509_GENERAL_NAME_TYPE_REGISTERED_ID
const uint8_t X509_KP_SERVER_AUTH_OID[8]
@ X509_GENERAL_NAME_TYPE_X400_ADDRESS
X509CrlDistrPoints crlDistrPoints
#define X509_MAX_FULL_NAMES
Date and time management.
const uint8_t X509_ORGANIZATIONAL_UNIT_NAME_OID[3]
@ X509_EXT_KEY_USAGE_SSH_CLIENT
X509AuthInfoAccess authInfoAccess
@ X509_NS_CERT_TYPE_SSL_SERVER
@ X509_EXT_KEY_USAGE_IPSEC_IKE
X509SignAlgoId signatureAlgo
X509GeneralName accessLocation
const uint8_t X509_INHIBIT_ANY_POLICY_OID[3]
X509DistrPointName distrPointName
const uint8_t X509_KEY_USAGE_OID[3]
X509ReasonFlags
Reason flags.
X509TbsCertificate tbsCert
@ X509_CRL_REASON_CA_COMPROMISE
X509OctetString accessMethod
Pkcs1Version
PKCS #1 versions.
TBSCertificate structure.
#define X509_MAX_CRL_ISSUERS
X509Extensions extensions
X509OctetString baseCrlNumber
X509DsaPublicKey dsaPublicKey
@ X509_REASON_FLAGS_PRIVILEGE_WITHDRAWN
const uint8_t X509_EXTENDED_KEY_USAGE_OID[3]
ECDSA (Elliptic Curve Digital Signature Algorithm)
const uint8_t X509_KP_SSH_CLIENT_OID[8]
X509KeyType x509GetPublicKeyType(const uint8_t *oid, size_t length)
Get the public key type that matches the specified OID.
const uint8_t X509_POLICY_CONSTRAINTS_OID[3]
X509SignAlgoId signatureAlgo
@ X509_REASON_FLAGS_AFFILIATION_CHANGED
X509String stateOrProvinceName
const uint8_t X509_CHALLENGE_PASSWORD_OID[9]
const uint8_t X509_ORGANIZATION_NAME_OID[3]
const uint8_t X509_DOMAIN_COMPONENT_OID[10]
const uint8_t X509_KP_CODE_SIGNING_OID[8]
X509EcParameters ecParams
@ X509_GENERAL_NAME_TYPE_RFC822
X509ExtendedKeyUsage extKeyUsage
const uint8_t X509_KP_OCSP_SIGNING_OID[8]
X509NsCertType nsCertType
X509SignAlgoId signatureAlgo
X509OctetString maskGenHashAlgo
Pkcs8Version
PKCS #8 versions.
const uint8_t X509_DN_QUALIFIER_OID[3]
@ X509_KEY_USAGE_DATA_ENCIPHERMENT
@ X509_GENERAL_NAME_TYPE_URI
#define X509_PRIVATE_EXTENSIONS
@ X509_EXT_KEY_USAGE_IPSEC_USER
X509Extensions extensionReq
const uint8_t X509_SUBJECT_DIR_ATTR_OID[3]
X509String organizationName
const uint8_t X509_SUBJECT_ALT_NAME_OID[3]
@ X509_EXT_KEY_USAGE_CLIENT_AUTH
CRL (Certificate Revocation List)
@ X509_EXT_KEY_USAGE_SSH_SERVER
@ X509_EXT_KEY_USAGE_IPSEC_END_SYSTEM
Invalidity Date extension.
const uint8_t X509_GIVEN_NAME_OID[3]
const uint8_t X509_SERIAL_NUMBER_OID[3]
const uint8_t X509_AUTHORITY_KEY_ID_OID[3]
#define X509_MAX_SUBJECT_ALT_NAMES
@ X509_CRL_REASON_AA_COMPROMISE
@ X509_KEY_USAGE_ENCIPHER_ONLY
Subject Key Identifier extension.
@ X509_GENERAL_NAME_TYPE_DIRECTORY
X509DeltaCrlIndicator deltaCrlIndicator
const uint8_t X509_NAME_OID[3]
@ X509_CRL_REASON_SUPERSEDED
const uint8_t X509_AD_CA_ISSUERS[8]
const uint8_t X509_ANY_EXT_KEY_USAGE_OID[4]
bool_t onlyContainsUserCerts
@ X509_CRL_REASON_AFFILIATION_CHANGED
Distribution Point Name structure.
@ X509_GENERAL_NAME_TYPE_EDI_PARTY
uint_t numAccessDescriptions
const EcCurveInfo * x509GetCurveInfo(const uint8_t *oid, size_t length)
Get the elliptic curve that matches the specified OID.
X509SignAlgoId signatureAlgo
X509CrlReasons
CRL reasons.
X509SubjectPublicKeyInfo subjectPublicKeyInfo
Certificate Issuer extension.
X509SignatureAlgo
Signature algorithms.
Authority Information Access extension.
@ X509_KEY_USAGE_NON_REPUDIATION
Elliptic curve parameters.
const uint8_t X509_DELTA_CRL_INDICATOR_OID[3]
error_t x509GetSignHashAlgo(const X509SignAlgoId *signAlgoId, X509SignatureAlgo *signAlgo, const HashAlgo **hashAlgo)
Get the signature and hash algorithms that match the specified identifier.
@ X509_GENERAL_NAME_TYPE_DNS
const uint8_t X509_PKIX_OCSP_NO_CHECK_OID[9]
const uint8_t X509_POLICY_MAPPINGS_OID[3]
const uint8_t X509_AUTH_INFO_ACCESS_OID[8]
const uint8_t X509_REASON_CODE_OID[3]
const uint8_t X509_CRL_NUMBER_OID[3]
bool_t x509IsCurveSupported(const uint8_t *oid, size_t length)
Check whether a given elliptic curve is supported.
Extended Key Usage extension.
Distribution Point structure.
X509BasicConstraints basicConstraints
X509Version
X.509 versions.
@ X509_KEY_USAGE_DECIPHER_ONLY
X509InvalidityDate invalidityDate
X509OctetString signatureValue
X509CrlEntryExtensions crlEntryExtensions
X509NameAttribute relativeName
X509OctetString permittedSubtrees
@ X509_CRL_REASON_CESSATION_OF_OPERATION
const uint8_t X509_TITLE_OID[3]
const uint8_t X509_NAME_CONSTRAINTS_OID[3]
@ X509_REASON_FLAGS_CERTIFICATE_HOLD
X509RsaPublicKey rsaPublicKey
@ X509_KEY_USAGE_KEY_AGREEMENT
Collection of signature algorithms.
@ X509_REASON_FLAGS_CA_COMPROMISE
EdDSA (Edwards-Curve Digital Signature Algorithm)
#define X509_MAX_ACCESS_DESCRIPTIONS
X.509 certificate extension.
const uint8_t X509_AD_OCSP[8]
Authority Key Identifier extension.
General definitions for cryptographic algorithms.
X509CertRequestInfo certReqInfo
X509PkixOcspNoCheck pkixOcspNoCheck
RSA public-key cryptography standard.
X509SerialNumber serialNumber
@ X509_HASH_ALGO_SHA3_224
X509OctetString excludedSubtrees
PKIX OCSP No Check extension.
DSA (Digital Signature Algorithm)
@ X509_REASON_FLAGS_AA_COMPROMISE
X509OctetString signatureValue
const uint8_t X509_KP_EMAIL_PROTECTION_OID[8]
@ X509_EXT_KEY_USAGE_SERVER_AUTH
X509DsaParameters dsaParams
Date and time representation.
@ X509_KEY_USAGE_DIGITAL_SIGNATURE
#define X509_MAX_CUSTOM_EXTENSIONS
const uint8_t X509_CRL_DISTR_POINTS_OID[3]
@ X509_CRL_REASON_CERTIFICATE_HOLD
X509OctetString maskGenAlgo
X509TbsCertList tbsCertList
X509HashAlgo
Hash algorithms.
CertificationRequestInfo structure.
X509CrlExtensions crlExtensions
X509SubjectAltName subjectAltName
Subject Alternative Name extension.
@ X509_EXT_KEY_USAGE_DOC_SIGNING
const uint8_t X509_KP_IPSEC_TUNNEL_OID[8]
Access Description extension.
const uint8_t X509_INVALIDITY_DATE_OID[3]
const uint8_t X509_KP_IPSEC_IKE_OID[8]
@ X509_EXT_KEY_USAGE_TIME_STAMPING
X509OctetString namedCurve
X509KeyUsageBitmap
Key usage.
const uint8_t X509_KP_TIME_STAMPING_OID[8]
Netscape certificate type.
@ X509_EXT_KEY_USAGE_IPSEC_TUNNEL
@ X509_NS_CERT_TYPE_SSL_CLIENT
bool_t onlyContainsAttributeCerts
@ X509_HASH_ALGO_SHA3_512
X509SignAlgoId signatureAlgo
X509IssuingDistrPoint issuingDistrPoint
bool_t x509IsHashAlgoSupported(X509HashAlgo hashAlgo)
Check whether a given hash algorithm is supported.
X509String generationQualifier
@ X509_REASON_FLAGS_SUPERSEDED
const uint8_t X509_ISSUER_ALT_NAME_OID[3]
uint_t numCustomExtensions
X509ExtKeyUsageBitmap
Extended key usage.
const uint8_t X509_LOCALITY_NAME_OID[3]
#define X509_MAX_DOMAIN_COMPONENTS
const uint8_t X509_SURNAME_OID[3]
X509OctetString signatureValue
@ X509_HASH_ALGO_SHA3_256
@ X509_HASH_ALGO_SHA3_384
const uint8_t X509_PSEUDONYM_OID[3]
const uint8_t X509_KP_CLIENT_AUTH_OID[8]
X509CertificateIssuer certIssuer
Subject Public Key Information extension.
@ X509_CRL_REASON_KEY_COMPROMISE
const uint8_t X509_COMMON_NAME_OID[3]
const uint8_t X509_KP_IPSEC_END_SYSTEM_OID[8]
@ X509_REASON_FLAGS_KEY_COMPROMISE
X509DistrPointName distributionPoint
const uint8_t X509_STATE_OR_PROVINCE_NAME_OID[3]
@ X509_REASON_FLAGS_CESSATION_OF_OPERATION
Basic Constraints extension.
#define X509_MAX_DISTR_POINTS
@ X509_NS_CERT_TYPE_SSL_CA
Delta CRL Indicator extension.
X509OctetString revokedCerts
const uint8_t X509_NS_CERT_TYPE_OID[9]
const uint8_t X509_CERTIFICATE_ISSUER_OID[3]
const uint8_t X509_SUBJECT_KEY_ID_OID[3]
const uint8_t X509_EXTENSION_REQUEST_OID[9]
X509String organizationalUnitName
@ X509_EXT_KEY_USAGE_OCSP_SIGNING
Name Constraints extension.
X.509 certificate extensions.
X509OctetString rawSubjectPublicKey
CRL Distribution Points extension.
const uint8_t X509_ISSUING_DISTR_POINT_OID[3]
X509NameConstraints nameConstraints
const uint8_t X509_INITIALS_OID[3]
const uint8_t X509_KP_DOC_SIGNING_OID[8]
const uint8_t X509_COUNTRY_NAME_OID[3]
@ X509_EXT_KEY_USAGE_CODE_SIGNING
bool_t x509IsSignAlgoSupported(X509SignatureAlgo signAlgo)
Check whether a given signature algorithm is supported.
Common interface for hash algorithms.
@ X509_CRL_REASON_PRIVILEGE_WITHDRAWN
@ X509_CRL_REMOVE_FROM_CRL
X509SerialNumber userCert
const uint8_t X509_EMAIL_ADDRESS_OID[9]
@ X509_GENERAL_NAME_TYPE_OTHER
X509ChallengePassword challengePwd
@ X509_CRL_REASON_UNSPECIFIED
const uint8_t X509_KP_SSH_SERVER_OID[8]
@ X509_REASON_FLAGS_UNUSED
Issuing Distribution Point extension.
const uint8_t X509_FRESHEST_CRL_OID[3]
@ X509_GENERAL_NAME_TYPE_IP_ADDRESS
@ X509_KEY_USAGE_KEY_ENCIPHERMENT
const uint8_t X509_BASIC_CONSTRAINTS_OID[3]
X509KeyType
Public Key types.
X509EcPublicKey ecPublicKey
X509SubjectPublicKeyInfo subjectPublicKeyInfo
const uint8_t X509_KP_IPSEC_USER_OID[8]
X509GeneralNameType
General name types.
X509SubjectKeyId subjectKeyId
CSR (Certificate Signing Request)
X509Attributes attributes
#define X509_MAX_CERT_ISSUERS
@ X509_EXT_KEY_USAGE_EMAIL_PROTECTION
X509RsaPssParameters rsaPssParams
uint_t numDomainComponents
@ X509_KEY_USAGE_CRL_SIGN
PKCS #9 ChallengePassword attribute.
bool_t onlyContainsCaCerts
Signature algorithm identifier.
X509NsCertTypeBitmap
Netscape certificate types.
@ X509_KEY_USAGE_KEY_CERT_SIGN
const uint8_t X509_CERTIFICATE_POLICIES_OID[3]
const uint8_t X509_GENERATION_QUALIFIER_OID[3]