RSA BSAFE SSL-C

Security protocol components for C

Search

cert.h

Go to the documentation of this file.
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 

Copyright (c) 1999-2004 RSA Security Inc. All rights reserved. 050-001001-2600-000-000 - 2.6