Sortix nightly manual
This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.
NAME
X509V3_get_d2i, X509V3_add1_i2d, X509V3_EXT_d2i, X509V3_EXT_i2d, X509_get_ext_d2i, X509_add1_ext_i2d, X509_CRL_get_ext_d2i, X509_CRL_add1_ext_i2d, X509_REVOKED_get_ext_d2i, X509_REVOKED_add1_ext_i2d, X509_get0_extensions, X509_CRL_get0_extensions, X509_REVOKED_get0_extensions, X509_get0_uids — X509 extension decode and encode functionsSYNOPSIS
#include <openssl/x509v3.h>X509V3_get_d2i(const STACK_OF(X509_EXTENSION) *x, int nid, int *crit, int *idx);
X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, int crit, unsigned long flags);
X509V3_EXT_d2i(X509_EXTENSION *ext);
X509V3_EXT_i2d(int ext_nid, int crit, void *ext);
X509_get_ext_d2i(const X509 *x, int nid, int *crit, int *idx);
X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, unsigned long flags);
X509_CRL_get_ext_d2i(const X509_CRL *crl, int nid, int *crit, int *idx);
X509_CRL_add1_ext_i2d(X509_CRL *crl, int nid, void *value, int crit, unsigned long flags);
X509_REVOKED_get_ext_d2i(const X509_REVOKED *r, int nid, int *crit, int *idx);
X509_REVOKED_add1_ext_i2d(X509_REVOKED *r, int nid, void *value, int crit, unsigned long flags);
X509_get0_extensions(const X509 *x);
X509_CRL_get0_extensions(const X509_CRL *crl);
X509_REVOKED_get0_extensions(const X509_REVOKED *r);
X509_get0_uids(const X509 *x, const ASN1_BIT_STRING **piuid, const ASN1_BIT_STRING **psuid);
DESCRIPTION
X509V3_get_d2i() looks for an extension with OID nid in the extensions x and, if found, decodes it. If idx is NULL, then only one occurrence of an extension is permissible. Otherwise the first extension after index *idx is returned and *idx is updated to the location of the extension. If crit is not NULL, then *crit is set to a status value: -2 if the extension occurs multiple times (this is only returned if idx is NULL), -1 if the extension could not be found, 0 if the extension is found and is not critical, and 1 if it is critical. A pointer to an extension specific structure or NULL is returned.SUPPORTED EXTENSIONS
The following sections contain a list of all supported extensions including their name and NID.PKIX Certificate Extensions
The following certificate extensions are defined in PKIX standards such as RFC 5280.Basic Constraints | NID_basic_constraints |
Key Usage | NID_key_usage |
Extended Key Usage | NID_ext_key_usage |
Subject Key Identifier | NID_subject_key_identifier |
Authority Key Identifier | NID_authority_key_identifier |
Private Key Usage Period | NID_private_key_usage_period |
Subject Alternative Name | NID_subject_alt_name |
Issuer Alternative Name | NID_issuer_alt_name |
Authority Information Access | NID_info_access |
Subject Information Access | NID_sinfo_access |
Name Constraints | NID_name_constraints |
Certificate Policies | NID_certificate_policies |
Policy Mappings | NID_policy_mappings |
Policy Constraints | NID_policy_constraints |
Inhibit Any Policy | NID_inhibit_any_policy |
IP Address Delegation | NID_sbgp_ipAddrBlock |
Autonomous System Identifier Delegation | NID_sbgp_autonomousSysNum |
Netscape Certificate Extensions
The following are (largely obsolete) Netscape certificate extensions.Netscape Cert Type | NID_netscape_cert_type |
Netscape Base Url | NID_netscape_base_url |
Netscape Revocation Url | NID_netscape_revocation_url |
Netscape CA Revocation Url | NID_netscape_ca_revocation_url |
Netscape Renewal Url | NID_netscape_renewal_url |
Netscape CA Policy Url | NID_netscape_ca_policy_url |
Netscape SSL Server Name | NID_netscape_ssl_server_name |
Netscape Comment | NID_netscape_comment |
Miscellaneous Certificate Extensions
Strong Extranet ID | NID_sxnet |
Proxy Certificate Information | NID_proxyCertInfo |
PKIX CRL Extensions
The following are CRL extensions from PKIX standards such as RFC 5280.CRL Number | NID_crl_number |
CRL Distribution Points | NID_crl_distribution_points |
Delta CRL Indicator | NID_delta_crl |
Freshest CRL | NID_freshest_crl |
Invalidity Date | NID_invalidity_date |
Issuing Distribution Point | NID_issuing_distribution_point |
CRL Reason Code | NID_crl_reason |
Certificate Issuer | NID_certificate_issuer |
OCSP Extensions
OCSP Nonce | NID_id_pkix_OCSP_Nonce |
OCSP CRL ID | NID_id_pkix_OCSP_CrlID |
Acceptable OCSP Responses | NID_id_pkix_OCSP_acceptableResponses |
OCSP Check |
NID_id_pkix_OCSP_noCheck |
OCSP Archive Cutoff | NID_id_pkix_OCSP_archiveCutoff |
OCSP Service Locator | NID_id_pkix_OCSP_serviceLocator |
Hold Instruction Code | NID_hold_instruction_code |