Go to the documentation of this file.
71 #include "../internal.h"
103 ret->ex_pathlen = -1;
121 if (
ret->cert_info->version != NULL) {
126 if (version < 0 || version > 2) {
133 if (
version == 0 && (
ret->cert_info->issuerUID != NULL ||
134 ret->cert_info->subjectUID != NULL)) {
140 if (
version != 2 &&
ret->cert_info->extensions != NULL) {
198 assert(x509p == x509);
243 const unsigned char *
q = *
pp;
247 if (!
a || *
a == NULL)
275 static int i2d_x509_aux_internal(
X509 *
a,
unsigned char **
pp)
278 unsigned char *
start =
pp != NULL ? *
pp : NULL;
280 assert(
pp == NULL || *
pp != NULL);
288 if (
length <= 0 ||
a == NULL) {
292 if (
a->aux != NULL) {
320 if (
pp == NULL || *
pp != NULL)
321 return i2d_x509_aux_internal(
a,
pp);
324 if ((
length = i2d_x509_aux_internal(
a, NULL)) <= 0)
359 if (copy1 == NULL || copy2 == NULL) {
386 *psig =
x->signature;
#define CRYPTO_BUFFER_free
#define ASN1_EXP_SEQUENCE_OF_OPT(stname, field, type, tag)
#define CRYPTO_EX_DATA_CLASS_INIT
static int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg)
int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from, void **from_d, int index, long argl, void *argp)
unsigned alias_only_on_next_parse
#define OPENSSL_PUT_ERROR(library, reason)
#define CRYPTO_BUFFER_len
OPENSSL_EXPORT int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_unused *unused, CRYPTO_EX_dup *dup_unused, CRYPTO_EX_free *free_func)
static CRYPTO_EX_DATA_CLASS g_ex_data_class
OPENSSL_EXPORT X509 * X509_parse_from_buffer(CRYPTO_BUFFER *buf)
#define ASN1_SEQUENCE_ref(tname, cb)
#define d2i_X509_CERT_AUX
OPENSSL_EXPORT int X509_set1_signature_algo(X509 *x509, const X509_ALGOR *algo)
#define CRYPTO_MUTEX_init
#define CRYPTO_BUFFER_up_ref
#define IMPLEMENT_ASN1_FUNCTIONS(stname)
ASN1_SEQUENCE_enc(X509_CINF, enc, 0)
OPENSSL_EXPORT int X509_set1_signature_value(X509 *x509, const uint8_t *sig, size_t sig_len)
#define CRYPTO_free_ex_data
#define NAME_CONSTRAINTS_free
OPENSSL_EXPORT int i2d_X509_tbs(X509 *x509, unsigned char **outp)
OPENSSL_EXPORT int i2d_X509_AUX(X509 *a, unsigned char **pp)
#define X509_CERT_AUX_free
#define AUTHORITY_KEYID_free
#define ASN1_SEQUENCE_END_enc(stname, tname)
OPENSSL_EXPORT int X509_up_ref(X509 *x509)
OPENSSL_EXPORT void X509_get0_signature(const ASN1_BIT_STRING **out_sig, const X509_ALGOR **out_alg, const X509 *x509)
#define CRYPTO_new_ex_data
ASN1_BIT_STRING * signature
#define IMPLEMENT_ASN1_DUP_FUNCTION(stname)
#define ASN1_STRING_FLAG_BITS_LEFT
#define ASN1_IMP_OPT(stname, field, type, tag)
OPENSSL_EXPORT int X509_get_signature_nid(const X509 *x509)
#define GENERAL_NAMES_free
void CRYPTO_EX_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int index, long argl, void *argp)
#define CRYPTO_get_ex_data
#define CRYPTO_MUTEX_cleanup
#define CRYPTO_get_ex_new_index
#define ASN1_EXP_OPT(stname, field, type, tag)
UniquePtr< SSL_SESSION > ret
#define i2d_X509_CERT_AUX
#define policy_cache_free
OPENSSL_EXPORT X509_ALGOR * X509_ALGOR_dup(X509_ALGOR *xn)
struct ASN1_VALUE_st ASN1_VALUE
OPENSSL_EXPORT void * X509_get_ex_data(X509 *r, int idx)
#define CRL_DIST_POINTS_free
#define CRYPTO_refcount_inc
#define ASN1_OP_FREE_POST
#define CRYPTO_set_ex_data
#define ASN1_SEQUENCE_END_ref(stname, tname)
OPENSSL_EXPORT int X509_set_ex_data(X509 *r, int idx, void *arg)
#define X509_R_INVALID_VERSION
OPENSSL_EXPORT int i2d_re_X509_tbs(X509 *x509, unsigned char **outp)
#define X509_R_INVALID_FIELD_FOR_VERSION
OPENSSL_EXPORT void ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *str)
#define CRYPTO_BUFFER_data
OPENSSL_EXPORT X509 * d2i_X509_AUX(X509 **a, const unsigned char **pp, long length)
#define ASN1_SIMPLE(stname, field, type)
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:56