Data structures, typedefs and constants

Important typedefs and structures:

Typedef Type Description
CST struct CST_st Descriptor of a certificate storage
cst_t_cert_folder guint8 Certificate folder inside a storage
cst_t_cert_purpose guint32 Bitmap of certificate purposes
cst_t_seqnum guint used for certificate and key IDs
CST_STACK_OF_X509 STACKOF(X509)2 A stack of X.509 certificates


Folder constants:

CST_FOLDER_CA Certificate Authority certificates
CST_FOLDER_OTHER Other certificates
CST_FOLDER_PERSONAL Unsorted certificates
CST_FOLDER_SITE Site-wide certificates
CST_FOLDER_UNKNOWN Certificates of unknown type


Error codes:

CST_ERROR_OK = 0 CST_ERROR_NOT_FOUND
CST_ERROR_STRUCTURE_CORRUPT CST_ERROR_CREATE_FILE
CST_ERROR_CERT_EXIST CST_ERROR_CRL_EXIST
CST_ERROR_STORAGE_IS_READONLY CST_ERROR_KEY_NOTFOUND
CST_ERROR_CERT_NOTFOUND CST_ERROR_NOT_IMPLEMENTED
CST_ERROR_NOT_INIT CST_ERROR_UNDEF
CST_ERROR_PARAM_INCORRECT CST_ERROR_NOT_OPEN
CST_ERROR_ASSIGN_INCORRECT CST_ERROR_CRL_NOT_VALID
CST_ERROR_CHAIN_INCOMPLETE CST_ERROR_CAPABILITY_NOTFOUND
CST_ERROR_INCORRECT_PURPOSE CST_ERROR_IO
CST_ERROR_NOSPC CST_ERROR_DBSTRUCTURE_CORRUPT
CST_ERROR_LOCK CST_ERROR_PASSWORD_WRONG
CST_ERROR_BAD_INTERNAL_FORMAT CST_ERROR_EXPORT
CST_ERROR_UNDEF_FILE_ERROR CST_ERROR_CANCEL


Certificate purposes are bitmaps. Every constant has only one bit on; a multipurpose certificate will have several of these constants OR-ed together.

CST_PURPOSE_NONE = 0 CST_PURPOSE_CA
CST_PURPOSE_SMIME_SGN CST_PURPOSE_SMIME_ENC
CST_PURPOSE_SSL_SERVER CST_PURPOSE_SSL_CLIENT
CST_PURPOSE_SSL_WLAN CST_PURPOSE_CRL_SIGN
CST_PURPOSE_ALL = 0xFFFF3  


Certificate states are also bits in a bitmap:

CST_STATE_VALID CST_STATE_NOTVALID
CST_STATE_EXPIRED CST_STATE_REVOKED

Elvis Pfutzenreuter 2006-02-17