diff options
Diffstat (limited to 'src/lib/libcrypto/x509/x509_vfy.h')
-rw-r--r-- | src/lib/libcrypto/x509/x509_vfy.h | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/src/lib/libcrypto/x509/x509_vfy.h b/src/lib/libcrypto/x509/x509_vfy.h index 76c76e1719..fe09b30aaa 100644 --- a/src/lib/libcrypto/x509/x509_vfy.h +++ b/src/lib/libcrypto/x509/x509_vfy.h | |||
@@ -77,6 +77,7 @@ | |||
77 | extern "C" { | 77 | extern "C" { |
78 | #endif | 78 | #endif |
79 | 79 | ||
80 | #if 0 | ||
80 | /* Outer object */ | 81 | /* Outer object */ |
81 | typedef struct x509_hash_dir_st | 82 | typedef struct x509_hash_dir_st |
82 | { | 83 | { |
@@ -85,6 +86,7 @@ typedef struct x509_hash_dir_st | |||
85 | int *dirs_type; | 86 | int *dirs_type; |
86 | int num_dirs_alloced; | 87 | int num_dirs_alloced; |
87 | } X509_HASH_DIR_CTX; | 88 | } X509_HASH_DIR_CTX; |
89 | #endif | ||
88 | 90 | ||
89 | typedef struct x509_file_st | 91 | typedef struct x509_file_st |
90 | { | 92 | { |
@@ -198,6 +200,8 @@ struct x509_store_st | |||
198 | int (*get_crl)(X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); /* retrieve CRL */ | 200 | int (*get_crl)(X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); /* retrieve CRL */ |
199 | int (*check_crl)(X509_STORE_CTX *ctx, X509_CRL *crl); /* Check CRL validity */ | 201 | int (*check_crl)(X509_STORE_CTX *ctx, X509_CRL *crl); /* Check CRL validity */ |
200 | int (*cert_crl)(X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); /* Check certificate against CRL */ | 202 | int (*cert_crl)(X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); /* Check certificate against CRL */ |
203 | STACK_OF(X509) * (*lookup_certs)(X509_STORE_CTX *ctx, X509_NAME *nm); | ||
204 | STACK_OF(X509_CRL) * (*lookup_crls)(X509_STORE_CTX *ctx, X509_NAME *nm); | ||
201 | int (*cleanup)(X509_STORE_CTX *ctx); | 205 | int (*cleanup)(X509_STORE_CTX *ctx); |
202 | 206 | ||
203 | CRYPTO_EX_DATA ex_data; | 207 | CRYPTO_EX_DATA ex_data; |
@@ -246,6 +250,8 @@ struct x509_store_ctx_st /* X509_STORE_CTX */ | |||
246 | int (*check_crl)(X509_STORE_CTX *ctx, X509_CRL *crl); /* Check CRL validity */ | 250 | int (*check_crl)(X509_STORE_CTX *ctx, X509_CRL *crl); /* Check CRL validity */ |
247 | int (*cert_crl)(X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); /* Check certificate against CRL */ | 251 | int (*cert_crl)(X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); /* Check certificate against CRL */ |
248 | int (*check_policy)(X509_STORE_CTX *ctx); | 252 | int (*check_policy)(X509_STORE_CTX *ctx); |
253 | STACK_OF(X509) * (*lookup_certs)(X509_STORE_CTX *ctx, X509_NAME *nm); | ||
254 | STACK_OF(X509_CRL) * (*lookup_crls)(X509_STORE_CTX *ctx, X509_NAME *nm); | ||
249 | int (*cleanup)(X509_STORE_CTX *ctx); | 255 | int (*cleanup)(X509_STORE_CTX *ctx); |
250 | 256 | ||
251 | /* The following is built up */ | 257 | /* The following is built up */ |
@@ -263,6 +269,11 @@ struct x509_store_ctx_st /* X509_STORE_CTX */ | |||
263 | X509 *current_issuer; /* cert currently being tested as valid issuer */ | 269 | X509 *current_issuer; /* cert currently being tested as valid issuer */ |
264 | X509_CRL *current_crl; /* current CRL */ | 270 | X509_CRL *current_crl; /* current CRL */ |
265 | 271 | ||
272 | int current_crl_score; /* score of current CRL */ | ||
273 | unsigned int current_reasons; /* Reason mask */ | ||
274 | |||
275 | X509_STORE_CTX *parent; /* For CRL path validation: parent context */ | ||
276 | |||
266 | CRYPTO_EX_DATA ex_data; | 277 | CRYPTO_EX_DATA ex_data; |
267 | } /* X509_STORE_CTX */; | 278 | } /* X509_STORE_CTX */; |
268 | 279 | ||
@@ -330,8 +341,18 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); | |||
330 | #define X509_V_ERR_INVALID_EXTENSION 41 | 341 | #define X509_V_ERR_INVALID_EXTENSION 41 |
331 | #define X509_V_ERR_INVALID_POLICY_EXTENSION 42 | 342 | #define X509_V_ERR_INVALID_POLICY_EXTENSION 42 |
332 | #define X509_V_ERR_NO_EXPLICIT_POLICY 43 | 343 | #define X509_V_ERR_NO_EXPLICIT_POLICY 43 |
344 | #define X509_V_ERR_DIFFERENT_CRL_SCOPE 44 | ||
345 | #define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45 | ||
346 | |||
347 | #define X509_V_ERR_UNNESTED_RESOURCE 46 | ||
333 | 348 | ||
334 | #define X509_V_ERR_UNNESTED_RESOURCE 44 | 349 | #define X509_V_ERR_PERMITTED_VIOLATION 47 |
350 | #define X509_V_ERR_EXCLUDED_VIOLATION 48 | ||
351 | #define X509_V_ERR_SUBTREE_MINMAX 49 | ||
352 | #define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51 | ||
353 | #define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52 | ||
354 | #define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53 | ||
355 | #define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54 | ||
335 | 356 | ||
336 | /* The application is not happy */ | 357 | /* The application is not happy */ |
337 | #define X509_V_ERR_APPLICATION_VERIFICATION 50 | 358 | #define X509_V_ERR_APPLICATION_VERIFICATION 50 |
@@ -362,6 +383,13 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); | |||
362 | #define X509_V_FLAG_INHIBIT_MAP 0x400 | 383 | #define X509_V_FLAG_INHIBIT_MAP 0x400 |
363 | /* Notify callback that policy is OK */ | 384 | /* Notify callback that policy is OK */ |
364 | #define X509_V_FLAG_NOTIFY_POLICY 0x800 | 385 | #define X509_V_FLAG_NOTIFY_POLICY 0x800 |
386 | /* Extended CRL features such as indirect CRLs, alternate CRL signing keys */ | ||
387 | #define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000 | ||
388 | /* Delta CRL support */ | ||
389 | #define X509_V_FLAG_USE_DELTAS 0x2000 | ||
390 | /* Check selfsigned CA signature */ | ||
391 | #define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000 | ||
392 | |||
365 | 393 | ||
366 | #define X509_VP_FLAG_DEFAULT 0x1 | 394 | #define X509_VP_FLAG_DEFAULT 0x1 |
367 | #define X509_VP_FLAG_OVERWRITE 0x2 | 395 | #define X509_VP_FLAG_OVERWRITE 0x2 |
@@ -384,11 +412,16 @@ void X509_OBJECT_free_contents(X509_OBJECT *a); | |||
384 | X509_STORE *X509_STORE_new(void ); | 412 | X509_STORE *X509_STORE_new(void ); |
385 | void X509_STORE_free(X509_STORE *v); | 413 | void X509_STORE_free(X509_STORE *v); |
386 | 414 | ||
415 | STACK_OF(X509)* X509_STORE_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); | ||
416 | STACK_OF(X509_CRL)* X509_STORE_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); | ||
387 | int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); | 417 | int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); |
388 | int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); | 418 | int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); |
389 | int X509_STORE_set_trust(X509_STORE *ctx, int trust); | 419 | int X509_STORE_set_trust(X509_STORE *ctx, int trust); |
390 | int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm); | 420 | int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm); |
391 | 421 | ||
422 | void X509_STORE_set_verify_cb(X509_STORE *ctx, | ||
423 | int (*verify_cb)(int, X509_STORE_CTX *)); | ||
424 | |||
392 | X509_STORE_CTX *X509_STORE_CTX_new(void); | 425 | X509_STORE_CTX *X509_STORE_CTX_new(void); |
393 | 426 | ||
394 | int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); | 427 | int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); |
@@ -447,6 +480,9 @@ int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); | |||
447 | void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx,int s); | 480 | void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx,int s); |
448 | int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); | 481 | int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); |
449 | X509 * X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); | 482 | X509 * X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); |
483 | X509 *X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx); | ||
484 | X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx); | ||
485 | X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx); | ||
450 | STACK_OF(X509) *X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); | 486 | STACK_OF(X509) *X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); |
451 | STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx); | 487 | STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx); |
452 | void X509_STORE_CTX_set_cert(X509_STORE_CTX *c,X509 *x); | 488 | void X509_STORE_CTX_set_cert(X509_STORE_CTX *c,X509 *x); |