Go to the documentation of this file.
31 #ifndef _X509_COMMON_H
32 #define _X509_COMMON_H
45 #ifndef X509_SIGN_CALLBACK_SUPPORT
46 #define X509_SIGN_CALLBACK_SUPPORT DISABLED
47 #elif (X509_SIGN_CALLBACK_SUPPORT != ENABLED && X509_SIGN_CALLBACK_SUPPORT != DISABLED)
48 #error X509_SIGN_CALLBACK_SUPPORT parameter is not valid
52 #ifndef X509_RSA_SUPPORT
53 #define X509_RSA_SUPPORT ENABLED
54 #elif (X509_RSA_SUPPORT != ENABLED && X509_RSA_SUPPORT != DISABLED)
55 #error X509_RSA_SUPPORT parameter is not valid
59 #ifndef X509_RSA_PSS_SUPPORT
60 #define X509_RSA_PSS_SUPPORT DISABLED
61 #elif (X509_RSA_PSS_SUPPORT != ENABLED && X509_RSA_PSS_SUPPORT != DISABLED)
62 #error X509_RSA_PSS_SUPPORT parameter is not valid
66 #ifndef X509_DSA_SUPPORT
67 #define X509_DSA_SUPPORT DISABLED
68 #elif (X509_DSA_SUPPORT != ENABLED && X509_DSA_SUPPORT != DISABLED)
69 #error X509_DSA_SUPPORT parameter is not valid
73 #ifndef X509_ECDSA_SUPPORT
74 #define X509_ECDSA_SUPPORT ENABLED
75 #elif (X509_ECDSA_SUPPORT != ENABLED && X509_ECDSA_SUPPORT != DISABLED)
76 #error X509_ECDSA_SUPPORT parameter is not valid
80 #ifndef X509_SM2_SUPPORT
81 #define X509_SM2_SUPPORT DISABLED
82 #elif (X509_SM2_SUPPORT != ENABLED && X509_SM2_SUPPORT != DISABLED)
83 #error X509_SM2_SUPPORT parameter is not valid
87 #ifndef X509_ED25519_SUPPORT
88 #define X509_ED25519_SUPPORT DISABLED
89 #elif (X509_ED25519_SUPPORT != ENABLED && X509_ED25519_SUPPORT != DISABLED)
90 #error X509_ED25519_SUPPORT parameter is not valid
94 #ifndef X509_ED448_SUPPORT
95 #define X509_ED448_SUPPORT DISABLED
96 #elif (X509_ED448_SUPPORT != ENABLED && X509_ED448_SUPPORT != DISABLED)
97 #error X509_ED448_SUPPORT parameter is not valid
101 #ifndef X509_MLDSA44_SUPPORT
102 #define X509_MLDSA44_SUPPORT DISABLED
103 #elif (X509_MLDSA44_SUPPORT != ENABLED && X509_MLDSA44_SUPPORT != DISABLED)
104 #error X509_MLDSA44_SUPPORT parameter is not valid
108 #ifndef X509_MLDSA65_SUPPORT
109 #define X509_MLDSA65_SUPPORT DISABLED
110 #elif (X509_MLDSA65_SUPPORT != ENABLED && X509_MLDSA65_SUPPORT != DISABLED)
111 #error X509_MLDSA65_SUPPORT parameter is not valid
115 #ifndef X509_MLDSA87_SUPPORT
116 #define X509_MLDSA87_SUPPORT DISABLED
117 #elif (X509_MLDSA87_SUPPORT != ENABLED && X509_MLDSA87_SUPPORT != DISABLED)
118 #error X509_MLDSA87_SUPPORT parameter is not valid
122 #ifndef X509_MD5_SUPPORT
123 #define X509_MD5_SUPPORT DISABLED
124 #elif (X509_MD5_SUPPORT != ENABLED && X509_MD5_SUPPORT != DISABLED)
125 #error X509_MD5_SUPPORT parameter is not valid
129 #ifndef X509_SHA1_SUPPORT
130 #define X509_SHA1_SUPPORT DISABLED
131 #elif (X509_SHA1_SUPPORT != ENABLED && X509_SHA1_SUPPORT != DISABLED)
132 #error X509_SHA1_SUPPORT parameter is not valid
136 #ifndef X509_SHA224_SUPPORT
137 #define X509_SHA224_SUPPORT DISABLED
138 #elif (X509_SHA224_SUPPORT != ENABLED && X509_SHA224_SUPPORT != DISABLED)
139 #error X509_SHA224_SUPPORT parameter is not valid
143 #ifndef X509_SHA256_SUPPORT
144 #define X509_SHA256_SUPPORT ENABLED
145 #elif (X509_SHA256_SUPPORT != ENABLED && X509_SHA256_SUPPORT != DISABLED)
146 #error X509_SHA256_SUPPORT parameter is not valid
150 #ifndef X509_SHA384_SUPPORT
151 #define X509_SHA384_SUPPORT ENABLED
152 #elif (X509_SHA384_SUPPORT != ENABLED && X509_SHA384_SUPPORT != DISABLED)
153 #error X509_SHA384_SUPPORT parameter is not valid
157 #ifndef X509_SHA512_SUPPORT
158 #define X509_SHA512_SUPPORT ENABLED
159 #elif (X509_SHA512_SUPPORT != ENABLED && X509_SHA512_SUPPORT != DISABLED)
160 #error X509_SHA512_SUPPORT parameter is not valid
164 #ifndef X509_SHA3_224_SUPPORT
165 #define X509_SHA3_224_SUPPORT DISABLED
166 #elif (X509_SHA3_224_SUPPORT != ENABLED && X509_SHA3_224_SUPPORT != DISABLED)
167 #error X509_SHA3_224_SUPPORT parameter is not valid
171 #ifndef X509_SHA3_256_SUPPORT
172 #define X509_SHA3_256_SUPPORT DISABLED
173 #elif (X509_SHA3_256_SUPPORT != ENABLED && X509_SHA3_256_SUPPORT != DISABLED)
174 #error X509_SHA3_256_SUPPORT parameter is not valid
178 #ifndef X509_SHA3_384_SUPPORT
179 #define X509_SHA3_384_SUPPORT DISABLED
180 #elif (X509_SHA3_384_SUPPORT != ENABLED && X509_SHA3_384_SUPPORT != DISABLED)
181 #error X509_SHA3_384_SUPPORT parameter is not valid
185 #ifndef X509_SHA3_512_SUPPORT
186 #define X509_SHA3_512_SUPPORT DISABLED
187 #elif (X509_SHA3_512_SUPPORT != ENABLED && X509_SHA3_512_SUPPORT != DISABLED)
188 #error X509_SHA3_512_SUPPORT parameter is not valid
192 #ifndef X509_SM3_SUPPORT
193 #define X509_SM3_SUPPORT DISABLED
194 #elif (X509_SM3_SUPPORT != ENABLED && X509_SM3_SUPPORT != DISABLED)
195 #error X509_SM3_SUPPORT parameter is not valid
199 #ifndef X509_SECP112R1_SUPPORT
200 #define X509_SECP112R1_SUPPORT DISABLED
201 #elif (X509_SECP112R1_SUPPORT != ENABLED && X509_SECP112R1_SUPPORT != DISABLED)
202 #error X509_SECP112R1_SUPPORT parameter is not valid
206 #ifndef X509_SECP112R2_SUPPORT
207 #define X509_SECP112R2_SUPPORT DISABLED
208 #elif (X509_SECP112R2_SUPPORT != ENABLED && X509_SECP112R2_SUPPORT != DISABLED)
209 #error X509_SECP112R2_SUPPORT parameter is not valid
213 #ifndef X509_SECP128R1_SUPPORT
214 #define X509_SECP128R1_SUPPORT DISABLED
215 #elif (X509_SECP128R1_SUPPORT != ENABLED && X509_SECP128R1_SUPPORT != DISABLED)
216 #error X509_SECP128R1_SUPPORT parameter is not valid
220 #ifndef X509_SECP128R2_SUPPORT
221 #define X509_SECP128R2_SUPPORT DISABLED
222 #elif (X509_SECP128R2_SUPPORT != ENABLED && X509_SECP128R2_SUPPORT != DISABLED)
223 #error X509_SECP128R2_SUPPORT parameter is not valid
227 #ifndef X509_SECP160K1_SUPPORT
228 #define X509_SECP160K1_SUPPORT DISABLED
229 #elif (X509_SECP160K1_SUPPORT != ENABLED && X509_SECP160K1_SUPPORT != DISABLED)
230 #error X509_SECP160K1_SUPPORT parameter is not valid
234 #ifndef X509_SECP160R1_SUPPORT
235 #define X509_SECP160R1_SUPPORT DISABLED
236 #elif (X509_SECP160R1_SUPPORT != ENABLED && X509_SECP160R1_SUPPORT != DISABLED)
237 #error X509_SECP160R1_SUPPORT parameter is not valid
241 #ifndef X509_SECP160R2_SUPPORT
242 #define X509_SECP160R2_SUPPORT DISABLED
243 #elif (X509_SECP160R2_SUPPORT != ENABLED && X509_SECP160R2_SUPPORT != DISABLED)
244 #error X509_SECP160R2_SUPPORT parameter is not valid
248 #ifndef X509_SECP192K1_SUPPORT
249 #define X509_SECP192K1_SUPPORT DISABLED
250 #elif (X509_SECP192K1_SUPPORT != ENABLED && X509_SECP192K1_SUPPORT != DISABLED)
251 #error X509_SECP192K1_SUPPORT parameter is not valid
255 #ifndef X509_SECP192R1_SUPPORT
256 #define X509_SECP192R1_SUPPORT DISABLED
257 #elif (X509_SECP192R1_SUPPORT != ENABLED && X509_SECP192R1_SUPPORT != DISABLED)
258 #error X509_SECP192R1_SUPPORT parameter is not valid
262 #ifndef X509_SECP224K1_SUPPORT
263 #define X509_SECP224K1_SUPPORT DISABLED
264 #elif (X509_SECP224K1_SUPPORT != ENABLED && X509_SECP224K1_SUPPORT != DISABLED)
265 #error X509_SECP224K1_SUPPORT parameter is not valid
269 #ifndef X509_SECP224R1_SUPPORT
270 #define X509_SECP224R1_SUPPORT DISABLED
271 #elif (X509_SECP224R1_SUPPORT != ENABLED && X509_SECP224R1_SUPPORT != DISABLED)
272 #error X509_SECP224R1_SUPPORT parameter is not valid
276 #ifndef X509_SECP256K1_SUPPORT
277 #define X509_SECP256K1_SUPPORT DISABLED
278 #elif (X509_SECP256K1_SUPPORT != ENABLED && X509_SECP256K1_SUPPORT != DISABLED)
279 #error X509_SECP256K1_SUPPORT parameter is not valid
283 #ifndef X509_SECP256R1_SUPPORT
284 #define X509_SECP256R1_SUPPORT ENABLED
285 #elif (X509_SECP256R1_SUPPORT != ENABLED && X509_SECP256R1_SUPPORT != DISABLED)
286 #error X509_SECP256R1_SUPPORT parameter is not valid
290 #ifndef X509_SECP384R1_SUPPORT
291 #define X509_SECP384R1_SUPPORT ENABLED
292 #elif (X509_SECP384R1_SUPPORT != ENABLED && X509_SECP384R1_SUPPORT != DISABLED)
293 #error X509_SECP384R1_SUPPORT parameter is not valid
297 #ifndef X509_SECP521R1_SUPPORT
298 #define X509_SECP521R1_SUPPORT ENABLED
299 #elif (X509_SECP521R1_SUPPORT != ENABLED && X509_SECP521R1_SUPPORT != DISABLED)
300 #error X509_SECP521R1_SUPPORT parameter is not valid
304 #ifndef X509_BRAINPOOLP160R1_SUPPORT
305 #define X509_BRAINPOOLP160R1_SUPPORT DISABLED
306 #elif (X509_BRAINPOOLP160R1_SUPPORT != ENABLED && X509_BRAINPOOLP160R1_SUPPORT != DISABLED)
307 #error X509_BRAINPOOLP160R1_SUPPORT parameter is not valid
311 #ifndef X509_BRAINPOOLP160T1_SUPPORT
312 #define X509_BRAINPOOLP160T1_SUPPORT DISABLED
313 #elif (X509_BRAINPOOLP160T1_SUPPORT != ENABLED && X509_BRAINPOOLP160T1_SUPPORT != DISABLED)
314 #error X509_BRAINPOOLP160T1_SUPPORT parameter is not valid
318 #ifndef X509_BRAINPOOLP192R1_SUPPORT
319 #define X509_BRAINPOOLP192R1_SUPPORT DISABLED
320 #elif (X509_BRAINPOOLP192R1_SUPPORT != ENABLED && X509_BRAINPOOLP192R1_SUPPORT != DISABLED)
321 #error X509_BRAINPOOLP192R1_SUPPORT parameter is not valid
325 #ifndef X509_BRAINPOOLP192T1_SUPPORT
326 #define X509_BRAINPOOLP192T1_SUPPORT DISABLED
327 #elif (X509_BRAINPOOLP192T1_SUPPORT != ENABLED && X509_BRAINPOOLP192T1_SUPPORT != DISABLED)
328 #error X509_BRAINPOOLP192T1_SUPPORT parameter is not valid
332 #ifndef X509_BRAINPOOLP224R1_SUPPORT
333 #define X509_BRAINPOOLP224R1_SUPPORT DISABLED
334 #elif (X509_BRAINPOOLP224R1_SUPPORT != ENABLED && X509_BRAINPOOLP224R1_SUPPORT != DISABLED)
335 #error X509_BRAINPOOLP224R1_SUPPORT parameter is not valid
339 #ifndef X509_BRAINPOOLP224T1_SUPPORT
340 #define X509_BRAINPOOLP224T1_SUPPORT DISABLED
341 #elif (X509_BRAINPOOLP224T1_SUPPORT != ENABLED && X509_BRAINPOOLP224T1_SUPPORT != DISABLED)
342 #error X509_BRAINPOOLP224T1_SUPPORT parameter is not valid
346 #ifndef X509_BRAINPOOLP256R1_SUPPORT
347 #define X509_BRAINPOOLP256R1_SUPPORT DISABLED
348 #elif (X509_BRAINPOOLP256R1_SUPPORT != ENABLED && X509_BRAINPOOLP256R1_SUPPORT != DISABLED)
349 #error X509_BRAINPOOLP256R1_SUPPORT parameter is not valid
353 #ifndef X509_BRAINPOOLP256T1_SUPPORT
354 #define X509_BRAINPOOLP256T1_SUPPORT DISABLED
355 #elif (X509_BRAINPOOLP256T1_SUPPORT != ENABLED && X509_BRAINPOOLP256T1_SUPPORT != DISABLED)
356 #error X509_BRAINPOOLP256T1_SUPPORT parameter is not valid
360 #ifndef X509_BRAINPOOLP320R1_SUPPORT
361 #define X509_BRAINPOOLP320R1_SUPPORT DISABLED
362 #elif (X509_BRAINPOOLP320R1_SUPPORT != ENABLED && X509_BRAINPOOLP320R1_SUPPORT != DISABLED)
363 #error X509_BRAINPOOLP320R1_SUPPORT parameter is not valid
366 #ifndef X509_BRAINPOOLP320T1_SUPPORT
367 #define X509_BRAINPOOLP320T1_SUPPORT DISABLED
368 #elif (X509_BRAINPOOLP320T1_SUPPORT != ENABLED && X509_BRAINPOOLP320T1_SUPPORT != DISABLED)
369 #error X509_BRAINPOOLP320T1_SUPPORT parameter is not valid
373 #ifndef X509_BRAINPOOLP384R1_SUPPORT
374 #define X509_BRAINPOOLP384R1_SUPPORT DISABLED
375 #elif (X509_BRAINPOOLP384R1_SUPPORT != ENABLED && X509_BRAINPOOLP384R1_SUPPORT != DISABLED)
376 #error X509_BRAINPOOLP384R1_SUPPORT parameter is not valid
380 #ifndef X509_BRAINPOOLP384T1_SUPPORT
381 #define X509_BRAINPOOLP384T1_SUPPORT DISABLED
382 #elif (X509_BRAINPOOLP384T1_SUPPORT != ENABLED && X509_BRAINPOOLP384T1_SUPPORT != DISABLED)
383 #error X509_BRAINPOOLP384T1_SUPPORT parameter is not valid
387 #ifndef X509_BRAINPOOLP512R1_SUPPORT
388 #define X509_BRAINPOOLP512R1_SUPPORT DISABLED
389 #elif (X509_BRAINPOOLP512R1_SUPPORT != ENABLED && X509_BRAINPOOLP512R1_SUPPORT != DISABLED)
390 #error X509_BRAINPOOLP512R1_SUPPORT parameter is not valid
394 #ifndef X509_BRAINPOOLP512T1_SUPPORT
395 #define X509_BRAINPOOLP512T1_SUPPORT DISABLED
396 #elif (X509_BRAINPOOLP512T1_SUPPORT != ENABLED && X509_BRAINPOOLP512T1_SUPPORT != DISABLED)
397 #error X509_BRAINPOOLP512T1_SUPPORT parameter is not valid
401 #ifndef X509_FRP256V1_SUPPORT
402 #define X509_FRP256V1_SUPPORT DISABLED
403 #elif (X509_FRP256V1_SUPPORT != ENABLED && X509_FRP256V1_SUPPORT != DISABLED)
404 #error X509_FRP256V1_SUPPORT parameter is not valid
408 #ifndef X509_MIN_RSA_MODULUS_SIZE
409 #define X509_MIN_RSA_MODULUS_SIZE 1024
410 #elif (X509_MIN_RSA_MODULUS_SIZE < 512)
411 #error X509_MIN_RSA_MODULUS_SIZE parameter is not valid
415 #ifndef X509_MAX_RSA_MODULUS_SIZE
416 #define X509_MAX_RSA_MODULUS_SIZE 4096
417 #elif (X509_MAX_RSA_MODULUS_SIZE < X509_MIN_RSA_MODULUS_SIZE)
418 #error X509_MAX_RSA_MODULUS_SIZE parameter is not valid
422 #ifndef X509_MIN_DSA_MODULUS_SIZE
423 #define X509_MIN_DSA_MODULUS_SIZE 1024
424 #elif (X509_MIN_DSA_MODULUS_SIZE < 512)
425 #error X509_MIN_DSA_MODULUS_SIZE parameter is not valid
429 #ifndef X509_MAX_DSA_MODULUS_SIZE
430 #define X509_MAX_DSA_MODULUS_SIZE 4096
431 #elif (X509_MAX_DSA_MODULUS_SIZE < X509_MIN_DSA_MODULUS_SIZE)
432 #error X509_MAX_DSA_MODULUS_SIZE parameter is not valid
436 #ifndef X509_SERIAL_NUMBER_SIZE
437 #define X509_SERIAL_NUMBER_SIZE 20
438 #elif (X509_SERIAL_NUMBER_SIZE < 1)
439 #error X509_SERIAL_NUMBER_SIZE parameter is not valid
443 #ifndef X509_MAX_DOMAIN_COMPONENTS
444 #define X509_MAX_DOMAIN_COMPONENTS 4
445 #elif (X509_MAX_DOMAIN_COMPONENTS < 1)
446 #error X509_MAX_DOMAIN_COMPONENTS parameter is not valid
450 #ifndef X509_MAX_SUBJECT_ALT_NAMES
451 #define X509_MAX_SUBJECT_ALT_NAMES 4
452 #elif (X509_MAX_SUBJECT_ALT_NAMES < 1)
453 #error X509_MAX_SUBJECT_ALT_NAMES parameter is not valid
457 #ifndef X509_MAX_CERT_ISSUERS
458 #define X509_MAX_CERT_ISSUERS 4
459 #elif (X509_MAX_CERT_ISSUERS < 1)
460 #error X509_MAX_CERT_ISSUERS parameter is not valid
464 #ifndef X509_MAX_CRL_ISSUERS
465 #define X509_MAX_CRL_ISSUERS 2
466 #elif (X509_MAX_CRL_ISSUERS < 1)
467 #error X509_MAX_CRL_ISSUERS parameter is not valid
471 #ifndef X509_MAX_DISTR_POINTS
472 #define X509_MAX_DISTR_POINTS 2
473 #elif (X509_MAX_DISTR_POINTS < 1)
474 #error X509_MAX_DISTR_POINTS parameter is not valid
478 #ifndef X509_MAX_FULL_NAMES
479 #define X509_MAX_FULL_NAMES 2
480 #elif (X509_MAX_FULL_NAMES < 1)
481 #error X509_MAX_FULL_NAMES parameter is not valid
485 #ifndef X509_MAX_ACCESS_DESCRIPTIONS
486 #define X509_MAX_ACCESS_DESCRIPTIONS 2
487 #elif (X509_MAX_ACCESS_DESCRIPTIONS < 1)
488 #error X509_MAX_ACCESS_DESCRIPTIONS parameter is not valid
492 #ifndef X509_MAX_CUSTOM_EXTENSIONS
493 #define X509_MAX_CUSTOM_EXTENSIONS 2
494 #elif (X509_MAX_CUSTOM_EXTENSIONS < 1)
495 #error X509_MAX_CUSTOM_EXTENSIONS parameter is not valid
499 #ifndef X509_PRIVATE_EXTENSIONS
500 #define X509_PRIVATE_EXTENSIONS
882 #if (RSA_SUPPORT == ENABLED)
885 #if (DSA_SUPPORT == ENABLED)
889 #if (EC_SUPPORT == ENABLED || ED25519_SUPPORT == ENABLED || \
890 ED448_SUPPORT == ENABLED)
894 #if (MLDSA44_SUPPORT == ENABLED || MLDSA65_SUPPORT == ENABLED || \
895 MLDSA87_SUPPORT == ENABLED)
1135 #if (X509_RSA_PSS_SUPPORT == ENABLED && RSA_SUPPORT == ENABLED)
1455 const uint8_t *name2,
size_t nameLen2);
@ X509_GENERAL_NAME_TYPE_REGISTERED_ID
const uint8_t PKCS9_EMAIL_ADDR_OID[9]
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
@ X509_EXT_KEY_USAGE_CMC_CA
const uint8_t X509_KEY_USAGE_OID[3]
X509ReasonFlags
Reason flags.
X509TbsCertificate tbsCert
@ X509_EXT_KEY_USAGE_CMC_RA
@ 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 X509Options X509_DEFAULT_OPTIONS
const uint8_t X509_POLICY_CONSTRAINTS_OID[3]
X509SignAlgoId signatureAlgo
@ X509_REASON_FLAGS_AFFILIATION_CHANGED
X509String stateOrProvinceName
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]
Certificate parsing options.
bool_t onlyContainsUserCerts
@ X509_CRL_REASON_AFFILIATION_CHANGED
Distribution Point Name structure.
@ X509_GENERAL_NAME_TYPE_EDI_PARTY
uint_t numAccessDescriptions
X509SignAlgoId signatureAlgo
X509CrlReasons
CRL reasons.
X509SubjectPublicKeyInfo subjectPublicKeyInfo
Certificate Issuer extension.
X509SignatureAlgo
Signature algorithms.
Authority Information Access extension.
@ X509_KEY_USAGE_NON_REPUDIATION
const uint8_t X509_DELTA_CRL_INDICATOR_OID[3]
const uint8_t PKCS9_CHALLENGE_PASSWORD_OID[9]
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.
const EcCurve * x509GetCurve(const uint8_t *oid, size_t length)
Get the elliptic curve that matches the specified OID.
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.
X509MldsaPublicKey mldsaPublicKey
@ 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
ML-DSA (Edwards-Curve Digital Signature Algorithm)
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 PKCS9_EXTENSION_REQUEST_OID[9]
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]
const uint8_t X509_KP_CMC_RA_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]
X509String organizationalUnitName
@ X509_EXT_KEY_USAGE_OCSP_SIGNING
const uint8_t X509_KP_CMC_CA_OID[8]
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
@ 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)
bool_t x509CompareName(const uint8_t *name1, size_t nameLen1, const uint8_t *name2, size_t nameLen2)
Compare distinguished names.
X509Attributes attributes
#define X509_MAX_CERT_ISSUERS
@ X509_EXT_KEY_USAGE_EMAIL_PROTECTION
X509RsaPssParameters rsaPssParams
bool_t ignoreUnknownExtensions
Ignore unknown extensions.
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]