third_party/boringssl-with-bazel/src/crypto/x509/internal.h
Go to the documentation of this file.
1 /*
2  * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL project
3  * 2013.
4  */
5 /* ====================================================================
6  * Copyright (c) 2013 The OpenSSL Project. All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * 1. Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  *
15  * 2. Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in
17  * the documentation and/or other materials provided with the
18  * distribution.
19  *
20  * 3. All advertising materials mentioning features or use of this
21  * software must display the following acknowledgment:
22  * "This product includes software developed by the OpenSSL Project
23  * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
24  *
25  * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
26  * endorse or promote products derived from this software without
27  * prior written permission. For written permission, please contact
28  * licensing@OpenSSL.org.
29  *
30  * 5. Products derived from this software may not be called "OpenSSL"
31  * nor may "OpenSSL" appear in their names without prior written
32  * permission of the OpenSSL Project.
33  *
34  * 6. Redistributions of any form whatsoever must retain the following
35  * acknowledgment:
36  * "This product includes software developed by the OpenSSL Project
37  * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
38  *
39  * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
40  * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
41  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
42  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
43  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
44  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
45  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
46  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
48  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
49  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50  * OF THE POSSIBILITY OF SUCH DAMAGE.
51  * ====================================================================
52  *
53  * This product includes cryptographic software written by Eric Young
54  * (eay@cryptsoft.com). This product includes software written by Tim
55  * Hudson (tjh@cryptsoft.com).
56  *
57  */
58 
59 #ifndef OPENSSL_HEADER_X509_INTERNAL_H
60 #define OPENSSL_HEADER_X509_INTERNAL_H
61 
62 #include <openssl/base.h>
63 #include <openssl/evp.h>
64 #include <openssl/x509.h>
65 
66 #include "../asn1/internal.h"
67 
68 #if defined(__cplusplus)
69 extern "C" {
70 #endif
71 
72 
73 /* Internal structures. */
74 
75 typedef struct X509_val_st {
78 } X509_VAL;
79 
81 
86 } /* X509_PUBKEY */;
87 
91  int set;
92 } /* X509_NAME_ENTRY */;
93 
94 // we always keep X509_NAMEs in 2 forms.
95 struct X509_name_st {
96  STACK_OF(X509_NAME_ENTRY) *entries;
97  int modified; // true if 'bytes' needs to be built
99  // unsigned long hash; Keep the hash around for lookups
100  unsigned char *canon_enc;
102 } /* X509_NAME */;
103 
107 } /* X509_ATTRIBUTE */;
108 
110  STACK_OF(ASN1_OBJECT) *trust; // trusted uses
111  STACK_OF(ASN1_OBJECT) *reject; // rejected uses
112  ASN1_UTF8STRING *alias; // "friendly name"
113  ASN1_OCTET_STRING *keyid; // key id of private key
114  STACK_OF(X509_ALGOR) *other; // other unspecified info
115 } /* X509_CERT_AUX */;
116 
121 } /* X509_EXTENSION */;
122 
123 typedef struct {
124  ASN1_INTEGER *version; // [ 0 ] default of v1
131  ASN1_BIT_STRING *issuerUID; // [ 1 ] optional in v2
132  ASN1_BIT_STRING *subjectUID; // [ 2 ] optional in v2
133  STACK_OF(X509_EXTENSION) *extensions; // [ 3 ] optional in v3
135 } X509_CINF;
136 
138 
145  // These contain copies of various extension values
148  unsigned long ex_flags;
149  unsigned long ex_kusage;
150  unsigned long ex_xkusage;
151  unsigned long ex_nscert;
155  STACK_OF(DIST_POINT) *crldp;
156  STACK_OF(GENERAL_NAME) *altname;
158  unsigned char sha1_hash[SHA_DIGEST_LENGTH];
162 } /* X509 */;
163 
164 typedef struct {
169  // d=2 hl=2 l= 0 cons: cont: 00
170  STACK_OF(X509_ATTRIBUTE) *attributes; // [ 0 ]
171 } X509_REQ_INFO;
172 
174 
180 } /* X509_REQ */;
181 
182 typedef struct {
188  STACK_OF(X509_REVOKED) *revoked;
189  STACK_OF(X509_EXTENSION) /* [0] */ *extensions;
191 } X509_CRL_INFO;
192 
194 
196  // actual signature
201  int flags;
202  // Copies of various extensions
205  // Convenient breakdown of IDP
208  // CRL and base CRL numbers for delta processing
211  unsigned char sha1_hash[SHA_DIGEST_LENGTH];
212  STACK_OF(GENERAL_NAMES) *issuers;
214  void *meth_data;
215 } /* X509_CRL */;
216 
218  char *name;
219  time_t check_time; // Time to use
220  unsigned long inh_flags; // Inheritance flags
221  unsigned long flags; // Various verify flags
222  int purpose; // purpose to check untrusted certificates
223  int trust; // trust setting to check
224  int depth; // Verify depth
225  STACK_OF(ASN1_OBJECT) *policies; // Permissible policies
226  // The following fields specify acceptable peer identities.
227  STACK_OF(OPENSSL_STRING) *hosts; // Set of acceptable names
228  unsigned int hostflags; // Flags to control matching features
229  char *peername; // Matching hostname in peer certificate
230  char *email; // If not NULL email address to match
231  size_t emaillen;
232  unsigned char *ip; // If not NULL IP address to match
233  size_t iplen; // Length of IP address
234  unsigned char poison; // Fail all verifications at name checking
235 } /* X509_VERIFY_PARAM */;
236 
238  // one of the above types
239  int type;
240  union {
241  char *ptr;
245  } data;
246 } /* X509_OBJECT */;
247 
248 // This is a static that defines the function interface
250  const char *name;
252  void (*free)(X509_LOOKUP *ctx);
255  int (*ctrl)(X509_LOOKUP *ctx, int cmd, const char *argc, long argl,
256  char **ret);
258  X509_OBJECT *ret);
260  ASN1_INTEGER *serial, X509_OBJECT *ret);
261  int (*get_by_fingerprint)(X509_LOOKUP *ctx, int type, unsigned char *bytes,
262  int len, X509_OBJECT *ret);
263  int (*get_by_alias)(X509_LOOKUP *ctx, int type, char *str, int len,
264  X509_OBJECT *ret);
265 } /* X509_LOOKUP_METHOD */;
266 
267 // This is used to hold everything. It is used for all certificate
268 // validation. Once we have a certificate chain, the 'verify'
269 // function is then called to actually check the cert chain.
271  // The following is a cache of trusted certs
272  int cache; // if true, stash any hits
273  STACK_OF(X509_OBJECT) *objs; // Cache of all objects
275 
276  // These are external lookup methods
277  STACK_OF(X509_LOOKUP) *get_cert_methods;
278 
280 
281  // Callbacks for various operations
282  X509_STORE_CTX_verify_fn verify; // called to verify a certificate
284  X509_STORE_CTX_get_issuer_fn get_issuer; // get issuers cert from ctx
287  check_revocation; // Check revocation status of chain
289  X509_STORE_CTX_check_crl_fn check_crl; // Check CRL validity
290  X509_STORE_CTX_cert_crl_fn cert_crl; // Check certificate against CRL
291  X509_STORE_CTX_lookup_certs_fn lookup_certs;
292  X509_STORE_CTX_lookup_crls_fn lookup_crls;
294 
296 } /* X509_STORE */;
297 
298 
299 // This is the functions plus an instance of the local variables.
301  int init; // have we been started
302  int skip; // don't use us.
303  X509_LOOKUP_METHOD *method; // the functions
304  char *method_data; // method data
305 
306  X509_STORE *store_ctx; // who owns us
307 } /* X509_LOOKUP */;
308 
309 // This is a used when verifying cert chains. Since the
310 // gathering of the cert chain can take some time (and have to be
311 // 'retried', this needs to be kept and passed around.
314 
315  // The following are set by the caller
316  X509 *cert; // The cert to check
317  STACK_OF(X509) *untrusted; // chain of X509s - untrusted - passed in
318  STACK_OF(X509_CRL) *crls; // set of CRLs passed in
319 
321  void *other_ctx; // Other info for use with get_issuer()
322 
323  // Callbacks for various operations
324  X509_STORE_CTX_verify_fn verify; // called to verify a certificate
326  X509_STORE_CTX_get_issuer_fn get_issuer; // get issuers cert from ctx
329  check_revocation; // Check revocation status of chain
331  X509_STORE_CTX_check_crl_fn check_crl; // Check CRL validity
332  X509_STORE_CTX_cert_crl_fn cert_crl; // Check certificate against CRL
334  X509_STORE_CTX_lookup_certs_fn lookup_certs;
335  X509_STORE_CTX_lookup_crls_fn lookup_crls;
337 
338  // The following is built up
339  int valid; // if 0, rebuild chain
340  int last_untrusted; // index of last untrusted cert
341  STACK_OF(X509) *chain; // chain of X509s - built up and trusted
342  X509_POLICY_TREE *tree; // Valid policy tree
343 
344  int explicit_policy; // Require explicit policy value
345 
346  // When something goes wrong, this is why
348  int error;
350  X509 *current_issuer; // cert currently being tested as valid issuer
351  X509_CRL *current_crl; // current CRL
352 
353  int current_crl_score; // score of current CRL
354  unsigned int current_reasons; // Reason mask
355 
356  X509_STORE_CTX *parent; // For CRL path validation: parent context
357 
359 } /* X509_STORE_CTX */;
360 
361 ASN1_TYPE *ASN1_generate_v3(const char *str, X509V3_CTX *cnf);
362 
363 
364 /* RSA-PSS functions. */
365 
366 /* x509_rsa_pss_to_ctx configures |ctx| for an RSA-PSS operation based on
367  * signature algorithm parameters in |sigalg| (which must have type
368  * |NID_rsassaPss|) and key |pkey|. It returns one on success and zero on
369  * error. */
370 int x509_rsa_pss_to_ctx(EVP_MD_CTX *ctx, const X509_ALGOR *sigalg,
371  EVP_PKEY *pkey);
372 
373 /* x509_rsa_pss_to_ctx sets |algor| to the signature algorithm parameters for
374  * |ctx|, which must have been configured for an RSA-PSS signing operation. It
375  * returns one on success and zero on error. */
377 
378 /* x509_print_rsa_pss_params prints a human-readable representation of RSA-PSS
379  * parameters in |sigalg| to |bp|. It returns one on success and zero on
380  * error. */
381 int x509_print_rsa_pss_params(BIO *bp, const X509_ALGOR *sigalg, int indent,
382  ASN1_PCTX *pctx);
383 
384 
385 /* Signature algorithm functions. */
386 
387 /* x509_digest_sign_algorithm encodes the signing parameters of |ctx| as an
388  * AlgorithmIdentifer and saves the result in |algor|. It returns one on
389  * success, or zero on error. */
391 
392 /* x509_digest_verify_init sets up |ctx| for a signature verification operation
393  * with public key |pkey| and parameters from |algor|. The |ctx| argument must
394  * have been initialised with |EVP_MD_CTX_init|. It returns one on success, or
395  * zero on error. */
397  EVP_PKEY *pkey);
398 
399 
400 #if defined(__cplusplus)
401 } /* extern C */
402 #endif
403 
404 #endif /* OPENSSL_HEADER_X509_INTERNAL_H */
xds_interop_client.str
str
Definition: xds_interop_client.py:487
x509_digest_verify_init
int x509_digest_verify_init(EVP_MD_CTX *ctx, const X509_ALGOR *sigalg, EVP_PKEY *pkey)
Definition: algorithm.c:113
X509_pubkey_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:82
x509_st::aux
X509_CERT_AUX * aux
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:159
x509_store_st::check_crl
X509_STORE_CTX_check_crl_fn check_crl
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:289
x509_lookup_st::method_data
char * method_data
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:304
x509_store_ctx_st::cert
X509 * cert
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:316
X509_STORE_CTX_check_crl_fn
int(* X509_STORE_CTX_check_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl)
Definition: x509.h:1891
X509_name_entry_st::value
ASN1_STRING * value
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:90
x509_st::ex_kusage
unsigned long ex_kusage
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:149
X509_CINF::subjectUID
ASN1_BIT_STRING * subjectUID
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:132
x509_store_ctx_st::check_issued
X509_STORE_CTX_check_issued_fn check_issued
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:327
x509_st::ex_nscert
unsigned long ex_nscert
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:151
x509_st::ex_data
CRYPTO_EX_DATA ex_data
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:144
GENERAL_NAME_st
Definition: x509v3.h:173
x509_lookup_method_st::shutdown
int(* shutdown)(X509_LOOKUP *ctx)
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:254
x509_attributes_st::STACK_OF
STACK_OF(ASN1_TYPE) *set
x509_st::cert_info
X509_CINF * cert_info
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:140
ctx
Definition: benchmark-async.c:30
X509_VERIFY_PARAM_st::emaillen
size_t emaillen
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:231
v3_ext_ctx
Definition: x509v3.h:136
x509_store_ctx_st::other_ctx
void * other_ctx
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:321
x509_lookup_method_st::get_by_subject
int(* get_by_subject)(X509_LOOKUP *ctx, int type, X509_NAME *name, X509_OBJECT *ret)
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:257
DECLARE_ASN1_FUNCTIONS
#define DECLARE_ASN1_FUNCTIONS(type)
Definition: asn1.h:1776
X509_VERIFY_PARAM_st::check_time
time_t check_time
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:219
x509_store_ctx_st::valid
int valid
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:339
bio_st
Definition: bio.h:822
X509_crl_st::base_crl_number
ASN1_INTEGER * base_crl_number
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:210
x509_object_st::pkey
EVP_PKEY * pkey
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:244
x509_lookup_method_st::name
const char * name
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:250
x509_store_ctx_st::ex_data
CRYPTO_EX_DATA ex_data
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:358
ASN1_BOOLEAN
int ASN1_BOOLEAN
Definition: base.h:335
evp.h
X509_STORE_CTX_check_policy_fn
int(* X509_STORE_CTX_check_policy_fn)(X509_STORE_CTX *ctx)
Definition: x509.h:1894
x509_st::lock
CRYPTO_MUTEX lock
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:161
x509_store_ctx_st::verify
X509_STORE_CTX_verify_fn verify
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:324
X509_crl_st::references
CRYPTO_refcount_t references
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:200
x509_lookup_method_st::get_by_fingerprint
int(* get_by_fingerprint)(X509_LOOKUP *ctx, int type, unsigned char *bytes, int len, X509_OBJECT *ret)
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:261
x509_attributes_st::object
ASN1_OBJECT * object
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:105
x509_store_ctx_st::lookup_crls
X509_STORE_CTX_lookup_crls_fn lookup_crls
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:335
x509_store_ctx_st::get_crl
X509_STORE_CTX_get_crl_fn get_crl
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:330
X509_VERIFY_PARAM_st::poison
unsigned char poison
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:234
X509_CINF::issuerUID
ASN1_BIT_STRING * issuerUID
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:131
X509_VERIFY_PARAM_st::STACK_OF
STACK_OF(ASN1_OBJECT) *policies
x509_st::ex_pathlen
long ex_pathlen
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:146
x509_store_st::param
X509_VERIFY_PARAM * param
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:279
x509_store_ctx_st::current_issuer
X509 * current_issuer
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:350
x509_st::ex_pcpathlen
long ex_pcpathlen
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:147
X509_REQ_INFO::version
ASN1_INTEGER * version
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:166
x509_store_ctx_st::check_crl
X509_STORE_CTX_check_crl_fn check_crl
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:331
x509_crl_method_st
Definition: x_crl.c:80
x509_st::ex_xkusage
unsigned long ex_xkusage
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:150
X509_VERIFY_PARAM_st::hostflags
unsigned int hostflags
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:228
x509_revoked_st
Definition: x509.h:252
X509_VERIFY_PARAM_st::name
char * name
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:218
X509_crl_st::idp_flags
int idp_flags
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:206
x509_object_st::crl
X509_CRL * crl
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:243
X509_CRL_INFO::sig_alg
X509_ALGOR * sig_alg
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:184
x509_store_st::get_crl
X509_STORE_CTX_get_crl_fn get_crl
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:288
X509_STORE_CTX_verify_fn
int(* X509_STORE_CTX_verify_fn)(X509_STORE_CTX *)
Definition: x509.h:1883
ctx
static struct test_ctx ctx
Definition: test-ipc-send-recv.c:65
crypto_buffer_st
Definition: third_party/boringssl-with-bazel/src/crypto/pool/internal.h:31
x509_store_st::cleanup
X509_STORE_CTX_cleanup_fn cleanup
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:293
X509_val_st::notAfter
ASN1_TIME * notAfter
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:77
X509_crl_st::idp
ISSUING_DIST_POINT * idp
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:204
python_utils.upload_rbe_results.indent
indent
Definition: upload_rbe_results.py:183
x509_lookup_method_st::get_by_issuer_serial
int(* get_by_issuer_serial)(X509_LOOKUP *ctx, int type, X509_NAME *name, ASN1_INTEGER *serial, X509_OBJECT *ret)
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:259
X509_STORE_CTX_get_issuer_fn
int(* X509_STORE_CTX_get_issuer_fn)(X509 **issuer, X509_STORE_CTX *ctx, X509 *x)
Definition: x509.h:1884
X509_extension_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:117
x509_st::nc
NAME_CONSTRAINTS * nc
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:157
x509_store_ctx_st::last_untrusted
int last_untrusted
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:340
DIST_POINT_st
Definition: x509v3.h:246
X509_REQ_INFO::subject
X509_NAME * subject
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:167
gen_build_yaml.struct
def struct(**kwargs)
Definition: test/core/end2end/gen_build_yaml.py:30
base.h
x509_store_ctx_st::current_cert
X509 * current_cert
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:349
ASN1_PCTX
struct asn1_pctx_st ASN1_PCTX
Definition: base.h:338
X509_pubkey_st::pkey
EVP_PKEY * pkey
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:85
env_md_ctx_st
Definition: digest.h:306
asn1_object_st
Definition: third_party/boringssl-with-bazel/src/crypto/asn1/internal.h:102
x509_store_ctx_st::parent
X509_STORE_CTX * parent
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:356
x509_st::skid
ASN1_OCTET_STRING * skid
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:152
X509_CINF::enc
ASN1_ENCODING enc
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:134
X509_crl_st::flags
int flags
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:201
x509_st::references
CRYPTO_refcount_t references
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:143
X509_VAL
struct X509_val_st X509_VAL
X509_POLICY_TREE_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h:228
X509_extension_st::object
ASN1_OBJECT * object
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:118
X509_CINF::serialNumber
ASN1_INTEGER * serialNumber
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:125
X509_VERIFY_PARAM_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:217
x509_store_ctx_st::STACK_OF
STACK_OF(X509) *untrusted
evp_pkey_st
Definition: evp.h:1046
xds_interop_client.int
int
Definition: xds_interop_client.py:113
X509_VERIFY_PARAM_st::inh_flags
unsigned long inh_flags
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:220
x509_store_st::verify
X509_STORE_CTX_verify_fn verify
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:282
STACK_OF
#define STACK_OF(type)
Definition: stack.h:125
x509_store_ctx_st::cleanup
X509_STORE_CTX_cleanup_fn cleanup
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:336
X509_CRL_INFO
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:182
x509_store_st::verify_cb
X509_STORE_CTX_verify_cb verify_cb
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:283
x509_lookup_st::store_ctx
X509_STORE * store_ctx
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:306
X509_REQ_INFO::pubkey
X509_PUBKEY * pubkey
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:168
X509_req_st::signature
ASN1_BIT_STRING * signature
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:178
x509_lookup_method_st::init
int(* init)(X509_LOOKUP *ctx)
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:253
X509_crl_st::meth
const X509_CRL_METHOD * meth
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:213
AUTHORITY_KEYID_st
Definition: x509v3.h:257
OPENSSL_STRING
char * OPENSSL_STRING
Definition: stack.h:425
x509_store_st::cache
int cache
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:272
X509_extension_st::critical
ASN1_BOOLEAN critical
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:119
X509_crl_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:195
x509_st::policy_cache
X509_POLICY_CACHE * policy_cache
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:154
X509_name_st::canon_enc
unsigned char * canon_enc
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:100
X509_name_st::canon_enclen
int canon_enclen
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:101
regen-readme.cmd
cmd
Definition: regen-readme.py:21
X509_REQ_INFO
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:164
X509_req_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:175
x509_store_st::check_revocation
X509_STORE_CTX_check_revocation_fn check_revocation
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:287
x509_lookup_method_st::new_item
int(* new_item)(X509_LOOKUP *ctx)
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:251
x509_store_ctx_st::error_depth
int error_depth
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:347
x509_store_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:270
x509_rsa_pss_to_ctx
int x509_rsa_pss_to_ctx(EVP_MD_CTX *ctx, const X509_ALGOR *sigalg, EVP_PKEY *pkey)
x509_st::signature
ASN1_BIT_STRING * signature
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:142
X509_CRL_INFO::issuer
X509_NAME * issuer
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:185
X509_VERIFY_PARAM_st::flags
unsigned long flags
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:221
ISSUING_DIST_POINT_st
Definition: x509v3.h:334
X509_VERIFY_PARAM_st::iplen
size_t iplen
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:233
X509_req_st::req_info
X509_REQ_INFO * req_info
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:176
x509_lookup_method_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:249
X509_crl_st::akid
AUTHORITY_KEYID * akid
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:203
conf.extensions
list extensions
Definition: doc/python/sphinx/conf.py:54
x509_object_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:237
X509_CINF::key
X509_PUBKEY * key
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:130
X509_STORE_CTX_check_revocation_fn
int(* X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx)
Definition: x509.h:1888
x509_cert_aux_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:109
x509_store_ctx_st::check_revocation
X509_STORE_CTX_check_revocation_fn check_revocation
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:329
X509_val_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:75
x509_st::ex_flags
unsigned long ex_flags
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:148
X509_CINF::subject
X509_NAME * subject
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:129
x509_print_rsa_pss_params
int x509_print_rsa_pss_params(BIO *bp, const X509_ALGOR *sigalg, int indent, ASN1_PCTX *pctx)
X509_crl_st::sig_alg
X509_ALGOR * sig_alg
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:198
x509_attributes_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:104
x509_cert_aux_st::STACK_OF
STACK_OF(ASN1_OBJECT) *trust
NAME_CONSTRAINTS_st
Definition: x509v3.h:310
x509_store_st::lookup_crls
X509_STORE_CTX_lookup_crls_fn lookup_crls
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:292
x509_store_ctx_st::verify_cb
X509_STORE_CTX_verify_cb verify_cb
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:325
X509_name_entry_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:88
X509_CRL_INFO::lastUpdate
ASN1_TIME * lastUpdate
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:186
X509_STORE_CTX_cleanup_fn
int(* X509_STORE_CTX_cleanup_fn)(X509_STORE_CTX *ctx)
Definition: x509.h:1899
x509_store_ctx_st::tree
X509_POLICY_TREE * tree
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:342
X509_name_st::STACK_OF
STACK_OF(X509_NAME_ENTRY) *entries
X509_name_entry_st::object
ASN1_OBJECT * object
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:89
x509_store_ctx_st::param
X509_VERIFY_PARAM * param
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:320
x509_store_st::STACK_OF
STACK_OF(X509_OBJECT) *objs
X509_CINF
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:123
X509_STORE_CTX_cert_crl_fn
int(* X509_STORE_CTX_cert_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x)
Definition: x509.h:1892
X509_crl_st::idp_reasons
int idp_reasons
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:207
x509_store_ctx_st::current_reasons
unsigned int current_reasons
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:354
X509_CRL_INFO::version
ASN1_INTEGER * version
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:183
x509_store_ctx_st::current_crl
X509_CRL * current_crl
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:351
x509_store_st::get_issuer
X509_STORE_CTX_get_issuer_fn get_issuer
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:284
x509_store_st::cert_crl
X509_STORE_CTX_cert_crl_fn cert_crl
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:290
X509_algor_st
Definition: x509.h:113
x509_object_st::data
union x509_object_st::@359 data
x509_store_ctx_st::get_issuer
X509_STORE_CTX_get_issuer_fn get_issuer
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:326
x509_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:139
x509_lookup_st::init
int init
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:301
x509_lookup_method_st::get_by_alias
int(* get_by_alias)(X509_LOOKUP *ctx, int type, char *str, int len, X509_OBJECT *ret)
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:263
x509_cert_aux_st::keyid
ASN1_OCTET_STRING * keyid
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:113
bytes
uint8 bytes[10]
Definition: bloaty/third_party/protobuf/src/google/protobuf/io/coded_stream_unittest.cc:153
x509_lookup_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:300
X509_pubkey_st::algor
X509_ALGOR * algor
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:83
X509_VERIFY_PARAM_st::trust
int trust
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:223
x509_store_ctx_st::current_crl_score
int current_crl_score
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:353
x509_store_ctx_st::explicit_policy
int explicit_policy
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:344
x509_object_st::type
int type
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:239
X509_val_st::notBefore
ASN1_TIME * notBefore
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:76
ret
UniquePtr< SSL_SESSION > ret
Definition: ssl_x509.cc:1029
X509_REQ_INFO::enc
ASN1_ENCODING enc
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:165
X509_name_st::bytes
BUF_MEM * bytes
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:98
x509_store_ctx_st::lookup_certs
X509_STORE_CTX_lookup_certs_fn lookup_certs
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:334
X509_VERIFY_PARAM_st::purpose
int purpose
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:222
x509_store_st::objs_lock
CRYPTO_MUTEX objs_lock
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:274
X509_VERIFY_PARAM_st::depth
int depth
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:224
ASN1_ENCODING_st
Definition: third_party/boringssl-with-bazel/src/crypto/asn1/internal.h:115
cpp.gmock_class.set
set
Definition: bloaty/third_party/googletest/googlemock/scripts/generator/cpp/gmock_class.py:44
x509_lookup_method_st::ctrl
int(* ctrl)(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret)
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:255
x509_lookup_st::method
X509_LOOKUP_METHOD * method
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:303
x509_digest_sign_algorithm
int x509_digest_sign_algorithm(EVP_MD_CTX *ctx, X509_ALGOR *algor)
Definition: algorithm.c:68
X509_crl_st::crl_number
ASN1_INTEGER * crl_number
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:209
X509_pubkey_st::public_key
ASN1_BIT_STRING * public_key
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:84
X509_VERIFY_PARAM_st::peername
char * peername
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:229
X509_req_st::sig_alg
X509_ALGOR * sig_alg
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:177
SHA_DIGEST_LENGTH
#define SHA_DIGEST_LENGTH
Definition: sha.h:74
x509_store_ctx_st::check_policy
X509_STORE_CTX_check_policy_fn check_policy
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:333
reject
bool reject
Definition: abseil-cpp/absl/random/internal/fast_uniform_bits_test.cc:65
x509_store_st::lookup_certs
X509_STORE_CTX_lookup_certs_fn lookup_certs
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:291
x509_cert_aux_st::alias
ASN1_UTF8STRING * alias
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:112
x509_store_st::check_issued
X509_STORE_CTX_check_issued_fn check_issued
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:285
X509_CINF::signature
X509_ALGOR * signature
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:126
x509_store_ctx_st::error
int error
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:348
x509_store_ctx_st::ctx
X509_STORE * ctx
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:313
X509_STORE_CTX_check_issued_fn
int(* X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx, X509 *x, X509 *issuer)
Definition: x509.h:1886
X509_name_entry_st::set
int set
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:91
buf_mem_st
Definition: buf.h:71
x509_lookup_method_st::free
void(* free)(X509_LOOKUP *ctx)
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:252
asyncio_get_stats.type
type
Definition: asyncio_get_stats.py:37
len
int len
Definition: abseil-cpp/absl/base/internal/low_level_alloc_test.cc:46
x509_object_st::x509
X509 * x509
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:242
asn1_type_st
Definition: asn1.h:1481
X509_CINF::validity
X509_VAL * validity
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:128
ASN1_generate_v3
ASN1_TYPE * ASN1_generate_v3(const char *str, X509V3_CTX *cnf)
Definition: asn1_gen.c:140
X509_POLICY_CACHE_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h:180
X509_STORE_CTX_verify_cb
int(* X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *)
Definition: x509.h:1882
X509_CRL_INFO::enc
ASN1_ENCODING enc
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:190
crypto_ex_data_st
Definition: ex_data.h:194
X509_CINF::version
ASN1_INTEGER * version
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:124
CRYPTO_refcount_t
uint32_t CRYPTO_refcount_t
Definition: thread.h:101
X509_VERIFY_PARAM_st::email
char * email
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:230
X509_extension_st::value
ASN1_OCTET_STRING * value
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:120
X509_req_st::references
CRYPTO_refcount_t references
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:179
x509_st::sig_alg
X509_ALGOR * sig_alg
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:141
crypto_mutex_st
Definition: thread.h:70
x509_st::akid
AUTHORITY_KEYID * akid
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:153
X509_name_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:95
x509_store_ctx_st
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:312
X509_CINF::issuer
X509_NAME * issuer
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:127
X509_crl_st::meth_data
void * meth_data
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:214
X509_VERIFY_PARAM_st::ip
unsigned char * ip
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:232
X509_crl_st::crl
X509_CRL_INFO * crl
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:197
X509_name_st::modified
int modified
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:97
asn1_string_st
Definition: asn1.h:543
x509_rsa_ctx_to_pss
int x509_rsa_ctx_to_pss(EVP_MD_CTX *ctx, X509_ALGOR *algor)
X509_CRL_INFO::nextUpdate
ASN1_TIME * nextUpdate
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:187
x509_st::buf
CRYPTO_BUFFER * buf
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:160
x509_lookup_st::skip
int skip
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:302
x509_object_st::ptr
char * ptr
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:241
X509_STORE_CTX_get_crl_fn
int(* X509_STORE_CTX_get_crl_fn)(X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x)
Definition: x509.h:1889
x509.h
X509_crl_st::signature
ASN1_BIT_STRING * signature
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:199
x509_store_ctx_st::cert_crl
X509_STORE_CTX_cert_crl_fn cert_crl
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:332
x509_store_st::references
CRYPTO_refcount_t references
Definition: third_party/boringssl-with-bazel/src/crypto/x509/internal.h:295


grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:07