| RSA BSAFE SSL-C |
Security protocol components for C |
| Search |
00001 /* $Id: cert.h,v 1.124 2004/10/27 00:32:46 fjeffery Exp $ */
00002 /*
00003 * Copyright (C) 1998-2002 RSA Security Inc. All rights reserved. This
00004 * work contains proprietary information of RSA Security. Distribution
00005 * is limited to authorized licensees of RSA Security. Any unauthorized
00006 * reproduction, distribution or modification of this work is strictly
00007 * prohibited.
00008 */
00009
00016 #ifndef HEADER_CERT_H
00017 #define HEADER_CERT_H
00018
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022
00023 #include "r_lib.h"
00024
00039 #define SSLCERT_ENCODING_ASN1_UTCTIME 23
00040
00043 #define SSLCERT_ENCODING_ASN1_GENERALIZEDTIME 24
00044 /* end of SSLCERT_ENC_ASN1TIME_IDS */
00059 #define SSLCERT_KEY_USAGE_DIGITAL_SIGNATURE 0x0080
00060
00062 #define SSLCERT_KEY_USAGE_NON_REPUDIATION 0x0040
00063
00065 #define SSLCERT_KEY_USAGE_KEY_ENCIPHERMENT 0x0020
00066
00068 #define SSLCERT_KEY_USAGE_DATA_ENCIPHERMENT 0x0010
00069
00071 #define SSLCERT_KEY_USAGE_KEY_AGREEMENT 0x0008
00072
00074 #define SSLCERT_KEY_USAGE_KEY_CERT_SIGN 0x0004
00075
00077 #define SSLCERT_KEY_USAGE_CRL_SIGN 0x0002
00078
00080 #define SSLCERT_KEY_USAGE_ENCIPHER_ONLY 0x0001
00081
00083 #define SSLCERT_KEY_USAGE_DECIPHER_ONLY 0x8000
00084
00085 /* END: SSLCERT_KEY_USAGE_IDS */
00105 #define SSLCERT_GET_CRL_DISTRIBUTION_POINT 0
00106
00110 #define SSLCERT_GET_CRL_REASONS 1
00111
00115 #define SSLCERT_GET_CRL_ISSUER 2
00116 /* END: SSL_CERTIFICATE_MANAGEMENT */
00121 #if defined(SSLC_SMALL_CODE) || defined(NO_SSLCERT_X509)
00122
00123 /* Include the header that has macro definition replacements for the
00124 * SSLCERT functions.
00125 */
00126 #include "cert_sm.h"
00127
00128 #else /* !SSLC_SMALL_CODE && !NO_SSLCERT_X509 */
00129
00130 #include "stack.h"
00131
00132 /* Define SSLCERT build types */
00145 #define SSLCERT_NONE 0x00
00146
00147 #define SSLCERT_NORMAL 0x01
00148
00149 #define SSLCERT_TINYCODE 0x02
00150
00154 /* Defines for Certificate Types known to SSL-C Version 2.3 */
00155
00156 #define SSLCERT_TYPE_NONE 0x00
00157 #define SSLCERT_TYPE_X509_STANDARD 0x01
00158 #define SSLCERT_TYPE_X509_COMPACT 0x02
00159 #define SSLCERT_TYPE_WTLS 0x10
00160
00161 /* Defines for features supported */
00162 #define SSLCERT_UNSUPPORTED 0x00
00163 #define SSLCERT_SUPPORTED 0x01
00164
00178 #define SSLCERT_LIBRARY_CONFIG_FLAG 0
00179
00180 #define SSLCERT_BIO_SUPPORTED_FLAG 1
00181
00185 /* we need to have a definition for a PKEY type for SSLCERT_PKEY_from_binary */
00186
00187 #ifndef EVP_PKEY_RSA
00188
00191 #define EVP_PKEY_RSA 6
00192 #endif
00193
00194 #ifndef EVP_PKEY_DSA
00195
00198 #define EVP_PKEY_DSA 116
00199 #endif
00200
00201 /* we declare opaque data types for those things for which we can
00202 * switch the implementation routines - hence they do not really have
00203 * a known type as it can change at runtime
00204 */
00205
00206 #ifndef SSLC_SMALL_CODE
00207
00212 #endif /* SSLC_SMALL_CODE */
00213 typedef void SSLCERT;
00214 #ifndef SSLC_SMALL_CODE
00215
00221 #endif /* SSLC_SMALL_CODE */
00222 typedef void SSLCERT_NAME;
00223 #ifndef SSLC_SMALL_CODE
00224
00230 #endif /* SSLC_SMALL_CODE */
00231 typedef void SSLCERT_NAME_ENTRY;
00232 #ifndef SSLC_SMALL_CODE
00233
00239 #endif /* SSLC_SMALL_CODE */
00240 typedef void SSLCERT_PKEY;
00241 #ifndef SSLC_SMALL_CODE
00242
00248 #endif /* SSLC_SMALL_CODE */
00249 typedef void SSLCERT_STORE_CTX;
00254 typedef void SSLCERT_STORE;
00255
00256 #ifndef HEADER_COMMON_EVP_H_TYPEDEF_DEF
00257 #define HEADER_COMMON_EVP_H_TYPEDEF_DEF
00258 typedef struct evp_md_st EVP_MD;
00259 typedef struct evp_md_ctx_st EVP_MD_CTX;
00260 typedef struct evp_cipher_st EVP_CIPHER;
00261 typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
00262 typedef struct evp_encode_ctx_st EVP_ENCODE_CTX;
00263 typedef struct evp_pkey_st EVP_PKEY;
00264 typedef void EVP_ASN1_TYPE;
00265 #endif /* HEADER_COMMON_EVP_H_TYPEDEF_DEF */
00266
00267 #ifndef HEADER_PEM_H_TYPEDEF_DEF
00268 #define HEADER_PEM_H_TYPEDEF_DEF
00269 typedef int R_CDECL PEM_PASSWORD_CB_T(char *buf, int len, int flag);
00270 #endif /* HEADER_PEM_H_TYPEDEF_DEF */
00271
00272 /* make sure we have a definition (safe) for SSL */
00273 #ifndef HEADER_SSL_H_TYPEDEF_DEF
00274 #define HEADER_SSL_H_TYPEDEF_DEF
00275 typedef struct ssl_st SSL;
00276 #endif /* HEADER_SSL_H_TYPEDEF_DEF*/
00277
00278 /* Initialize the library to either normal build or the tinycode build. */
00279 int R_CDECL SSLCERT_normal_setup();
00280 int R_CDECL SSLCERT_tinycode_setup();
00281 /* Returns the 'type' of library */
00282
00288 void R_CDECL SSLCERT_reference_inc(SSLCERT *cert);
00289 SSLCERT * R_CDECL SSLCERT_new(void);
00290 SSLCERT * R_CDECL SSLCERT_dup(SSLCERT *cert);
00291 void R_CDECL SSLCERT_free(SSLCERT *cert);
00292
00293 #ifndef NO_PEM
00294 void * R_CDECL SSLCERT_PEM_read_bio_SSLCERT(void *bp, SSLCERT **cert,
00295 PEM_PASSWORD_CB_T *cb);
00296 #endif /* NO_PEM */
00297
00298 int R_CDECL SSLCERT_to_binary(SSLCERT *cert, unsigned char **pp);
00299 SSLCERT * R_CDECL SSLCERT_from_binary(SSLCERT **pcert, unsigned char **pp, long length);
00300 void * R_CDECL SSLCERT_from_binary_bio(void *bp, SSLCERT *cert);
00301
00302 /* end group SSL_CERTIFICATE_MANAGEMENT_FUNCS */
00317 char * R_CDECL SSLCERT_OID_to_string(unsigned char *data,long len,int flag);
00318 int R_CDECL SSLCERT_fingerprint(SSLCERT *cert,unsigned char *buf,unsigned int *plen);
00319 SSLCERT_NAME * R_CDECL SSLCERT_get_issuer_name(SSLCERT *cert);
00320 SSLCERT_NAME * R_CDECL SSLCERT_get_subject_name(SSLCERT *cert);
00321 R_ITEM * R_CDECL SSLCERT_get_AKI_keyid(SSLCERT *cert);
00322 R_ITEM * R_CDECL SSLCERT_get_SKI_keyid(SSLCERT *cert);
00323 EVP_PKEY * R_CDECL SSLCERT_get_pubkey(SSLCERT *cert);
00324 int R_CDECL SSLCERT_get_serialNumber_info(SSLCERT *cert,unsigned int *type,
00325 unsigned char **pp,long *length);
00326 long R_CDECL SSLCERT_get_version(SSLCERT *cert);
00327 int R_CDECL SSLCERT_get_flag(int indicator);
00328 int R_CDECL SSLCERT_set_flag(int indicator, int value);
00329
00330 /* end group SSL_CERTIFICATE_INFO_FUNCS */
00345 SSLCERT_NAME * R_CDECL SSLCERT_NAME_new(void);
00346 void R_CDECL SSLCERT_NAME_free(SSLCERT_NAME *cn);
00347 SSLCERT_NAME * R_CDECL SSLCERT_NAME_dup(SSLCERT_NAME *cn);
00348 unsigned long R_CDECL SSLCERT_NAME_hash(SSLCERT_NAME *cn);
00349 int R_CDECL SSLCERT_NAME_cmp(SSLCERT_NAME *cn1,SSLCERT_NAME *cn2);
00350
00351 SSLCERT_NAME * R_CDECL SSLCERT_NAME_from_binary(SSLCERT_NAME **cn,unsigned char **pp,
00352 long length);
00353 int R_CDECL SSLCERT_NAME_to_binary(SSLCERT_NAME *cn, unsigned char **pp);
00354
00355 int R_CDECL SSLCERT_NAME_ENTRY_get_info(SSLCERT_NAME_ENTRY *cne,unsigned int *oidtype,
00356 unsigned char **oidpp,long *oidlen,unsigned int *datatype,
00357 unsigned char **datapp,long *datalen);
00358 int R_CDECL SSLCERT_NAME_ENTRY_get_oid_info(SSLCERT_NAME_ENTRY *cne,
00359 unsigned int *oidtype,unsigned char **oidpp, long *oidlen);
00360 int R_CDECL SSLCERT_NAME_ENTRY_get_data_info(SSLCERT_NAME_ENTRY *cne,
00361 unsigned int *datatype,unsigned char **datapp,long *datalen);
00362
00363 int R_CDECL SSLCERT_NAME_get_entry_count(SSLCERT_NAME *xn);
00364 SSLCERT_NAME_ENTRY * R_CDECL SSLCERT_NAME_get_entry(SSLCERT_NAME *cn,int loc);
00365 char * R_CDECL SSLCERT_NAME_oneline(SSLCERT_NAME *cn, char *buf, int len);
00366 int R_CDECL SSLCERT_get_extension(SSLCERT *cert, const char *oid, int *crit,
00367 unsigned char **data,int *len);
00368 int R_CDECL SSLCERT_get_key_usage_int(SSLCERT *cert, unsigned int *crit,
00369 unsigned long *usage);
00370 int R_CDECL SSLCERT_get_basic_constraints_int(SSLCERT *cert, unsigned int *crit,
00371 unsigned long *constraints, int *is_ca);
00372 unsigned long R_CDECL SSLCERT_keyid_hash(R_ITEM *ck);
00373 int R_CDECL SSLCERT_keyid_cmp(R_ITEM *ck1,R_ITEM *ck2);
00374
00375 /* end group SSL_CERTIFICATE_NAME_FUNCS */
00385 int R_CDECL SSLCERT_verify(SSLCERT *cert,EVP_PKEY *pkey);
00386 int R_CDECL SSLCERT_digest(SSLCERT *cert,EVP_MD *mdtype,
00387 unsigned char *md, unsigned int *len);
00388 int R_CDECL SSLCERT_get_notAfter(SSLCERT *cert,unsigned int *type,unsigned char **pp,
00389 long *length);
00390 int R_CDECL SSLCERT_get_notBefore(SSLCERT *cert,unsigned int *type,unsigned char **pp,
00391 long *length);
00392 int R_CDECL SSLCERT_subject_name_cmp(SSLCERT *cert1,SSLCERT *cert2);
00393 int R_CDECL SSLCERT_SKI_keyid_cmp(SSLCERT *cert1,SSLCERT *cert2);
00394
00395 typedef int ( R_CDECL SSLCERT_APPLICATION_CB_T)(SSL *ssl,void **certs, int count,
00396 char *arg,long *verify_result);
00397
00398 /*
00399 * "application_cb" refers to verification where the SSL context and the
00400 * stack data are passed in directly and walking up and down the chain
00401 * is the responsibility of the application.
00402 *
00403 * "verify_cb" is where the X509_STORE routines are used and the library
00404 * provides default logic for walking the up and down the chain and the
00405 * application can provide a callback that is invoked at each point in the
00406 * verification.
00407 *
00408 * The application programmer is not expected to use these functions - the
00409 * library itself uses this as the interface between the replaceable
00410 * implementations of certificate handling.
00411 *
00412 */
00413 int R_CDECL SSLCERT_do_application_cb(SSL *ssl,STACK *sk,
00414 SSLCERT_APPLICATION_CB_T *cb, char *cbarg,long *verify_result);
00415
00416 int R_CDECL SSLCERT_do_verify_cb(SSL *ssl,STACK *sk,SSLCERT_STORE *cert_store,
00417 int (*cb)(void *ctx,char *arg), char *cbarg,long *verify_result);
00418
00419 /* these are used by the library internally */
00420 int R_CDECL SSLCERT_get_signature_type(SSLCERT *cert);
00421 int R_CDECL SSLCERT_check_private_key(SSLCERT *cert, EVP_PKEY *pkey);
00422 int R_CDECL SSLCERT_compare_ASN1_time(int time_encoding, unsigned char *cert_time,
00423 unsigned int now_time, int *result);
00424 int R_CDECL SSLCERT_verify_signature(int alg_id, unsigned char *data,
00425 unsigned int dlen, unsigned char *signature, unsigned int slen,
00426 EVP_PKEY *pubkey);
00427
00428 /* end group SSL_CERTIFICATE_VERIFICATION */
00438 /* certificate store handling functions */
00439 SSLCERT_STORE_CTX * R_CDECL SSLCERT_STORE_CTX_new(void);
00440 void R_CDECL SSLCERT_STORE_CTX_init(SSLCERT_STORE_CTX *cctx, SSLCERT_STORE *cstore,
00441 SSLCERT *cert,void *chain);
00442 void R_CDECL SSLCERT_STORE_CTX_free(SSLCERT_STORE_CTX *ctx);
00443 void R_CDECL SSLCERT_STORE_CTX_cleanup(SSLCERT_STORE_CTX *csctx);
00444 int R_CDECL SSLCERT_STORE_get_by_subject(SSLCERT_STORE_CTX *csctx,int type,
00445 SSLCERT_NAME *cn,void *ret);
00446 int R_CDECL SSLCERT_STORE_get_by_SKI(SSLCERT_STORE_CTX *csctx,int type,
00447 R_ITEM *ck,void *ret);
00448 SSLCERT_STORE * R_CDECL SSLCERT_STORE_new(void);
00449 void R_CDECL SSLCERT_STORE_free(SSLCERT_STORE *cstore);
00450
00451 int R_CDECL SSLCERT_STORE_CTX_get_ex_new_index(long argl, char *argp,
00452 int (*new_func)(), int (*dup_func)(), void (*free_func)());
00453 int R_CDECL SSLCERT_STORE_CTX_cleanup_ex_data(void);
00454 int R_CDECL SSLCERT_STORE_CTX_set_ex_data(SSLCERT_STORE_CTX *cctx,int idx,char *data);
00455 char * R_CDECL SSLCERT_STORE_CTX_get_ex_data(SSLCERT_STORE_CTX *cctx,int idx);
00456 int R_CDECL SSLCERT_STORE_CTX_get_error(SSLCERT_STORE_CTX *cctx);
00457 void R_CDECL SSLCERT_STORE_CTX_set_error(SSLCERT_STORE_CTX *cctx,int s);
00458 int R_CDECL SSLCERT_STORE_CTX_get_error_depth(SSLCERT_STORE_CTX *cctx);
00459 void * R_CDECL SSLCERT_STORE_CTX_get_current_cert(SSLCERT_STORE_CTX *cctx);
00460
00461 int R_CDECL SSLCERT_STORE_load_locations(SSLCERT_STORE *cstore, char *file, char *dir);
00462 int R_CDECL SSLCERT_STORE_set_default_paths(SSLCERT_STORE *cstore);
00463
00464 typedef int R_CDECL SSLCERT_STORE_VERIFY_CB_T(int ok, SSLCERT_STORE_CTX *store_ctx);
00465
00466 int R_CDECL SSLCERT_STORE_set_verify_cb(SSLCERT_STORE *cstore,
00467 SSLCERT_STORE_VERIFY_CB_T *cb);
00468 /* end group SSL_CERTIFICATE_STORE_FUNCS */
00478 EVP_PKEY * R_CDECL SSLCERT_PKEY_new(void);
00479 void R_CDECL SSLCERT_PKEY_free(EVP_PKEY *pkey);
00480 EVP_PKEY * R_CDECL SSLCERT_PKEY_from_binary(int type, EVP_PKEY **ppkey,
00481 unsigned char **pp, long length);
00482 EVP_PKEY * R_CDECL SSLCERT_PKEY_from_PUBKEY_binary(int type, EVP_PKEY **ppkey,
00483 unsigned char **pp, long length);
00484 void R_CDECL SSLCERT_PKEY_reference_inc(EVP_PKEY *pkey);
00489 int R_CDECL SSLCERT_STORE_set_meth_data(SSLCERT_STORE *store, void *data);
00490 int R_CDECL SSLCERT_STORE_add_SSLCERT(SSLCERT_STORE *store, SSLCERT *cert);
00491
00492 void R_CDECL ERR_load_SSLCERT_strings(void);
00493
00494 #endif /* !SSLC_SMALL_CODE && !NO_SSLCERT_X509 */
00495
00496 int R_CDECL SSLCERT_set_meth_data(SSLCERT *cert, void *meth_data);
00497 void * R_CDECL SSLCERT_get_meth_data(SSLCERT *cert);
00498
00499 int R_CDECL SSLCERT_PKEY_set_info(SSLCERT_PKEY *pkey, int info_id, void *value);
00500 int R_CDECL SSLCERT_PKEY_get_info(SSLCERT_PKEY *pkey, int info_id, void *value);
00501
00625 /* this is SSLCERT defines for SSLCERT_set_info and SSLCERT_get_info functions,
00626 * their values are derived from the cert module and used in R_CERT_set_info and
00627 * R_CERT_set_info functions.
00628 */
00629 typedef int SSLCERT_INFO;
00630
00634 #define SSLCERT_INFO_SUBJECT 0x0007
00635
00639 #define SSLCERT_INFO_PUBLIC_KEY 0x0009
00640
00645 #define SSLCERT_INFO_ISSUER 0x0004
00646
00651 #define SSLCERT_INFO_SERIAL_NUMBER 0x0002
00652
00656 #define SSLCERT_INFO_BINARY 0x007f
00657
00661 #define SSLCERT_INFO_TYPE 0x00008004
00662
00668 #define SSLCERT_INFO_CERT_TYPE 0x0000800E
00669
00673 #define SSLCERT_TYPE_X509 1
00674
00678 #define SSLCERT_INFO_HW_OBJ 0x20000003
00679
00685 #define SSLCERT_INFO_DELETE 0x20000000
00686
00690 #define SSLCERT_INFO_ID_HW_KEY_TYPE 0x20000017
00691
00695 #define SSLCERT_INFO_HW_LABEL 0x20001001
00696
00706 #define SSLCERT_INFO_HW_CERT_CATEGORY 0x20001002
00707
00712 #define SSLCERT_INFO_HW_ID 0x20001003
00713
00718 #define SSLCERT_INFO_HW_HASH_SUB_PUBKEY 0x20001004
00719
00724 #define SSLCERT_INFO_HW_HASH_ISS_PUBKEY 0x20001005
00725
00734 #define SSLCERT_INFO_HW_URL 0x20001006
00735
00747 #define SSLCERT_INFO_HW_JAVA_MIDP_SEC_DOM 0x20001007
00748
00760 #define SSLCERT_INFO_HW_TRUSTED 0x20001008
00761
00773 #define SSLCERT_INFO_HW_MODIFIABLE 0x20001009
00774
00786 #define SSLCERT_INFO_HW_PRIVATE 0x2000100A
00787
00797 int R_CDECL SSLCERT_set_info(SSLCERT *cert, SSLCERT_INFO info_id, void *value);
00798 int R_CDECL SSLCERT_get_info(SSLCERT *cert, SSLCERT_INFO info_id, void *value);
00799 /* END GROUP SSL_CERTIFICATION_INFO_FUNCS */
00804 /* BEGIN ERROR CODES */
00805 /* Error codes for the SSLCERT functions. */
00806
00807 /* Function codes. */
00808 #define SSLCERT_F_CHECK_PKEY 109
00809 #define SSLCERT_F_COMPARE_ASN1_TIME 154
00810 #define SSLCERT_F_DIGEST 110
00811 #define SSLCERT_F_DO_APPLICATION_CB 111
00812 #define SSLCERT_F_DO_VERIFY_CB 100
00813 #define SSLCERT_F_FINGERPRINT 101
00814 #define SSLCERT_F_FREE 112
00815 #define SSLCERT_F_FROM_BINARY 105
00816 #define SSLCERT_F_FROM_BINARY_BIO 113
00817 #define SSLCERT_F_GET_INFO 166
00818 #define SSLCERT_F_GET_ISSUER_NAME 114
00819 #define SSLCERT_F_GET_NOTAFTER 115
00820 #define SSLCERT_F_GET_NOTBEFORE 116
00821 #define SSLCERT_F_GET_PUBKEY 117
00822 #define SSLCERT_F_GET_SERIALNUMBER_INFO 118
00823 #define SSLCERT_F_GET_SIGNATURE_TYPE 119
00824 #define SSLCERT_F_GET_SUBJECT_NAME 120
00825 #define SSLCERT_F_NAME_CMP 121
00826 #define SSLCERT_F_NAME_DUP 122
00827 #define SSLCERT_F_NAME_ENTRY_GET_INFO 123
00828 #define SSLCERT_F_NAME_FREE 124
00829 #define SSLCERT_F_NAME_FROM_BINARY 125
00830 #define SSLCERT_F_NAME_GET_ENTRY 126
00831 #define SSLCERT_F_NAME_GET_ENTRY_COUNT 127
00832 #define SSLCERT_F_NAME_GET_INFO 128
00833 #define SSLCERT_F_NAME_HASH 129
00834 #define SSLCERT_F_NAME_NEW 130
00835 #define SSLCERT_F_NAME_ONELINE 155
00836 #define SSLCERT_F_GET_SUBJECT_NAME 120
00837 #define SSLCERT_F_NAME_TO_BINARY 131
00838 #define SSLCERT_F_NEW 132
00839 #define SSLCERT_F_PEM_READ_BIO 133
00840 #define SSLCERT_F_PKEY_FREE 134
00841 #define SSLCERT_F_PKEY_FROM_BINARY 107
00842 #define SSLCERT_F_PKEY_FROM_PUBKEY_BINARY 108
00843 #define SSLCERT_F_PKEY_NEW 135
00844 #define SSLCERT_F_REFERENCE_INC 136
00845 #define SSLCERT_F_SET_INFO 167
00846 #define SSLCERT_F_SSLCERT_GET_EXTENSION 156 /* SSLCERT_get_extension */
00847 #define SSLCERT_F_SSLCERT_GET_KEY_USAGE_INT 157 /* SSLCERT_get_key_usage_int */
00848 #define SSLCERT_F_SSLCERT_GET_VERSION 151 /* SSLCERT_get_version */
00849 #define SSLCERT_F_SSLCERT_PKEY_GET_INFO 164 /* SSLCERT_PKEY_get_info */
00850 #define SSLCERT_F_SSLCERT_PKEY_SET_INFO 165 /* SSLCERT_PKEY_set_info */
00851 #define SSLCERT_F_SSLCERT_SET_METH_DATA 160 /* SSLCERT_set_meth_data */
00852 #define SSLCERT_F_SSLCERT_STORE_ADD_SSLCERT 161 /* SSLCERT_STORE_add_SSLCERT */
00853 #define SSLCERT_F_SSLCERT_STORE_SET_METH_DATA 159 /* SSLCERT_STORE_set_meth_data */
00854 #define SSLCERT_F_STORE_CTX_CLEANUP 137
00855 #define SSLCERT_F_STORE_CTX_CLEANUP_EX_DATA 138
00856 #define SSLCERT_F_STORE_CTX_FREE 152
00857 #define SSLCERT_F_STORE_CTX_GET_CURRENT_CERT 139
00858 #define SSLCERT_F_STORE_CTX_GET_ERROR 140
00859 #define SSLCERT_F_STORE_CTX_GET_ERROR_DEPTH 141
00860 #define SSLCERT_F_STORE_CTX_GET_EX_DATA 142
00861 #define SSLCERT_F_STORE_CTX_GET_EX_NEW_INDEX 102
00862 #define SSLCERT_F_STORE_CTX_INIT 143
00863 #define SSLCERT_F_STORE_CTX_NEW 153
00864 #define SSLCERT_F_STORE_CTX_SET_ERROR 144
00865 #define SSLCERT_F_STORE_CTX_SET_EX_DATA 145
00866 #define SSLCERT_F_STORE_FREE 146
00867 #define SSLCERT_F_STORE_GET_BY_SUBJECT 147
00868 #define SSLCERT_F_STORE_LOAD_LOCATIONS 103
00869 #define SSLCERT_F_STORE_NEW 148
00870 #define SSLCERT_F_STORE_SET_DEFAULT_PATHS 104
00871 #define SSLCERT_F_SUBJECT_NAME_CMP 149
00872 #define SSLCERT_F_TO_BINARY 106
00873 #define SSLCERT_F_VERIFY 150
00874 #define SSLCERT_F_KEYID_HASH 168
00875 #define SSLCERT_F_KEYID_CMP 169
00876 #define SSLCERT_F_STORE_GET_BY_SKI 170
00877 #define SSLCERT_F_SKI_KEYID_CMP 171
00878 #define SSLCERT_F_GET_AKI_KEYID 172
00879 #define SSLCERT_F_GET_SKI_KEYID 173
00880
00881
00882 /* Reason codes. */
00883 #define SSLCERT_R_UNKNOWN_TIME_FORMAT 101
00884
00885 #ifdef __cplusplus
00886 }
00887 #endif
00888 #endif
00889