RSA Security logo

RSA BSAFE Cert-C
API Reference

certdb.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (c) RSA Security Inc., 1999-2002.  All rights reserved.
00003 * This work contains proprietary, confidential, and trade secret
00004 * information of RSA Security Inc.  Use, disclosure or reproduction
00005 * without the express written authorization of RSA Security Inc. is
00006 * prohibited.
00007 */
00008 
00009 #ifndef _CERTDB_H_
00010 #define _CERTDB_H_ 1
00011 
00019 #include "basetype.h"
00020 #include "bsafe.h"
00021 
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025 
00026 /* The application must bind to a particular set of database providers
00027    by calling C_BindService before making Cert-C database calls.
00028 */
00029 
00052 void C_FreeIterator (
00053   DB_ITERATOR       *dbIterator);         /* database iteration handle */
00054 
00084 int C_InsertCert (
00085   SERVICE           database,           /* database service pointer */
00086   CERT_OBJ          cert);              /* certificate object */
00087 
00117 int C_InsertCertList (
00118   SERVICE           database,           /* database service pointer */
00119   LIST_OBJ          certs);             /* list of certificate objects */
00120 
00149 int C_InsertCRL (
00150   SERVICE           database,           /* database service pointer */
00151   CRL_OBJ           crl);               /* CRL object */
00152 
00182 int C_InsertCRLList (
00183   SERVICE           database,           /* database service pointer */
00184   LIST_OBJ          crlList);           /* list of CRL objects */
00185 
00219 int C_InsertPrivateKey (
00220   SERVICE           database,           /* database service pointer */
00221   CERT_OBJ          cert,               /* cert that matches private key */
00222   B_KEY_OBJ         privateKey);        /* private key object */
00223 
00259 int C_InsertPrivateKeyBySPKI (
00260   SERVICE           database,           /* database service pointer */
00261   ITEM              *spki,              /* subject public key info */
00262   B_KEY_OBJ         privateKey);        /* private key object */
00263 
00300 int C_SelectCertByIssuerSerial (
00301   SERVICE           database,           /* database service pointer */
00302   NAME_OBJ          issuerName,         /* issuer name */
00303   ITEM              *serialNumber,      /* serial number */
00304   LIST_OBJ          certList);          /* list where cert is added */
00305 
00343 int C_SelectCertBySubject (
00344   SERVICE           database,           /* database service pointer */
00345   NAME_OBJ          subjectName,        /* subject name */
00346   LIST_OBJ          certList);          /* list where certs are added */
00347 
00412 int C_SelectCertByExtensions (
00413   SERVICE           database,           /* database service pointer */
00414   NAME_OBJ          baseName,           /* starting point for search */
00415   EXTENSIONS_OBJ    extensions,         /* extensions object */
00416   LIST_OBJ          certList);          /* list where certs are added */
00417 
00457 int C_SelectFirstCert (
00458   SERVICE           database,           /* database service pointer */
00459   DB_ITERATOR       *dbIterator,          /* iteration handle */
00460   LIST_OBJ          certList);          /* list where certs are added */
00461 
00496 int C_SelectNextCert (
00497   DB_ITERATOR       *dbIterator,          /* iteration handle */
00498   LIST_OBJ          certList);          /* list where certs are added */
00499 
00544 int C_SelectCRLByIssuerTime (
00545   SERVICE           database,           /* database service pointer */
00546   NAME_OBJ          issuerName,         /* CRL issuer name */
00547   UINT4             time,               /* selection time */
00548   LIST_OBJ          crlList);           /* list where CRLs are added */
00549 
00585 int C_SelectFirstCRL (
00586   SERVICE           database,           /* database service pointer */
00587   DB_ITERATOR       *dbIterator,          /* iteration handle */
00588   LIST_OBJ          crlList);           /* list where CRLs are added */
00589 
00624 int C_SelectNextCRL (
00625   DB_ITERATOR       *dbIterator,          /* iteration handle */
00626   LIST_OBJ          crlList);           /* list where crls are added */
00627 
00661 int C_SelectPrivateKeyByCert (
00662   SERVICE           database,           /* database service pointer */
00663   CERT_OBJ          cert,               /* cert that matches private key */
00664   B_KEY_OBJ         privateKey);        /* (out) private key */
00665 
00701 int C_SelectPrivateKeyBySPKI (
00702   SERVICE           database,           /* database service pointer */
00703   ITEM              *spki,              /* subject public key info */
00704   B_KEY_OBJ         privateKey);        /* (out) private key */
00705 
00740 int C_SelectFirstPrivateKey (
00741   SERVICE           database,           /* database service pointer */
00742   DB_ITERATOR       *dbIterator,          /* iteration handle */
00743   B_KEY_OBJ         privateKey);        /* (out) private key */
00744 
00774 int C_SelectNextPrivateKey (
00775   DB_ITERATOR       *dbIterator,          /* iteration handle */
00776   B_KEY_OBJ         privateKey);        /* (out) private key */
00777 
00810 int C_DeleteCert (
00811   SERVICE           database,           /* database service pointer */
00812   NAME_OBJ          issuerName,         /* issuer name */
00813   ITEM              *serialNumber);     /* serial number */
00814 
00847 int C_DeleteCRL (
00848   SERVICE           database,           /* database service pointer */
00849   NAME_OBJ          issuerName,         /* issuer name */
00850   UINT4             lastUpdate);        /* last update time */
00851 
00881 int C_DeletePrivateKey (
00882   SERVICE           database,           /* database service pointer */
00883   CERT_OBJ          cert);              /* cert that matches private key */
00884 
00915 int C_DeletePrivateKeyBySPKI (
00916   SERVICE           database,           /* database service pointer */
00917   ITEM              *spki);             /* subject public key info */
00918 
00970 int C_SelectCertByAttributes (
00971   SERVICE           database,           /* database service pointer */
00972   NAME_OBJ          baseName,           /* starting point for search */
00973   ATTRIBUTES_OBJ    attributes,         /* attributes object */
00974   LIST_OBJ          certList);          /* list where certs are added */
00975 
00976 #ifdef __cplusplus
00977 }
00978 #endif
00979 
00980 #endif /* _CERTDB_H_ */



RSA BSAFE® Cert-C 2.7 API Reference