72 #ifndef __PKCS11H_CERTIFICATE_H
73 #define __PKCS11H_CERTIFICATE_H
77 #if defined(__cplusplus)
82 struct pkcs11h_certificate_s;
126 pkcs11h_certificate_id_list_t
next;
138 IN pkcs11h_certificate_id_t certificate_id
151 OUT pkcs11h_certificate_id_t *
const to,
152 IN
const pkcs11h_certificate_id_t from
166 IN
const pkcs11h_certificate_id_t certificate_id,
167 IN
const unsigned char *
const blob,
168 IN
const size_t blob_size
178 IN pkcs11h_certificate_t certificate
195 IN
const pkcs11h_certificate_id_t certificate_id,
196 IN
void *
const user_data,
197 IN
const unsigned mask_prompt,
198 IN
const int pin_cache_period,
199 OUT pkcs11h_certificate_t *
const p_certificate
209 IN
const pkcs11h_certificate_t certificate
219 IN
const pkcs11h_certificate_t certificate,
220 IN
const unsigned mask_prompt
230 IN
const pkcs11h_certificate_t certificate
240 IN
const pkcs11h_certificate_t certificate,
241 IN
void *
const user_data
254 IN
const pkcs11h_certificate_t certificate,
255 OUT pkcs11h_certificate_id_t *
const p_certificate_id
268 IN
const pkcs11h_certificate_t certificate,
269 OUT
unsigned char *
const certificate_blob,
270 IN OUT
size_t *
const p_certificate_blob_size
285 IN
const pkcs11h_certificate_id_t certificate_id
298 OUT pkcs11h_certificate_id_t *
const p_certificate_id,
299 IN
const char *
const sz
309 IN
const pkcs11h_certificate_t certificate
319 IN
const pkcs11h_certificate_t certificate
338 IN
const pkcs11h_certificate_t certificate
349 IN
const pkcs11h_certificate_t certificate
368 IN
const pkcs11h_certificate_t certificate,
369 IN
const CK_MECHANISM_TYPE mech_type,
370 IN
const unsigned char *
const source,
371 IN
const size_t source_size,
372 OUT
unsigned char *
const target,
373 IN OUT
size_t *
const p_target_size
392 IN
const pkcs11h_certificate_t certificate,
393 IN
const CK_MECHANISM_TYPE mech_type,
394 IN
const unsigned char *
const source,
395 IN
const size_t source_size,
396 OUT
unsigned char *
const target,
397 IN OUT
size_t *
const p_target_size
415 IN
const pkcs11h_certificate_t certificate,
416 IN
const CK_MECHANISM_TYPE mech_type,
417 IN
const unsigned char *
const source,
418 IN
const size_t source_size,
419 OUT
unsigned char *
const target,
420 IN OUT
size_t *
const p_target_size
438 IN
const pkcs11h_certificate_t certificate,
439 IN
const CK_MECHANISM_TYPE mech_type,
440 IN
const unsigned char *
const source,
441 IN
const size_t source_size,
442 OUT
unsigned char *
const target,
443 IN OUT
size_t *
const p_target_size
461 IN
const pkcs11h_certificate_t certificate,
462 IN
const CK_MECHANISM_TYPE mech_type,
463 IN
const unsigned char *
const source,
464 IN
const size_t source_size,
465 OUT
unsigned char *
const target,
466 IN OUT
size_t *
const p_target_size
484 IN
const pkcs11h_certificate_t certificate,
485 IN
const CK_MECHANISM_TYPE mech_type,
486 IN
const unsigned char *
const source,
487 IN
const size_t source_size,
488 OUT
unsigned char *
const target,
489 IN OUT
size_t *
const p_target_size
499 IN
const pkcs11h_certificate_id_list_t cert_id_list
519 IN
const unsigned method,
520 IN
void *
const user_data,
521 IN
const unsigned mask_prompt,
522 OUT pkcs11h_certificate_id_list_t *
const p_cert_id_issuers_list,
523 OUT pkcs11h_certificate_id_list_t *
const p_cert_id_end_list
540 IN
const unsigned method,
541 IN
void *
const user_data,
542 IN
const unsigned mask_prompt,
543 OUT pkcs11h_certificate_id_list_t *
const p_cert_id_issuers_list,
544 OUT pkcs11h_certificate_id_list_t *
const p_cert_id_end_list
CK_BYTE_PTR attrCKA_ID
Definition: pkcs11h-certificate.h:111
CK_RV pkcs11h_certificate_duplicateCertificateId(OUT pkcs11h_certificate_id_t *const to, IN const pkcs11h_certificate_id_t from)
Duplicate certificate_id object.
CK_RV pkcs11h_certificate_serializeCertificateId(OUT char *const sz, IN OUT size_t *max, IN const pkcs11h_certificate_id_t certificate_id)
Serialize certificate_id into a string.
CK_RV pkcs11h_certificate_deserializeCertificateId(OUT pkcs11h_certificate_id_t *const p_certificate_id, IN const char *const sz)
Deserialize certificate_id out of string.
struct pkcs11h_certificate_id_list_s * pkcs11h_certificate_id_list_t
Certificate id list.
Definition: pkcs11h-certificate.h:99
struct pkcs11h_certificate_s * pkcs11h_certificate_t
Certificate object.
Definition: pkcs11h-certificate.h:92
unsigned char * certificate_blob
Definition: pkcs11h-certificate.h:116
CK_RV pkcs11h_certificate_decrypt(IN const pkcs11h_certificate_t certificate, IN const CK_MECHANISM_TYPE mech_type, IN const unsigned char *const source, IN const size_t source_size, OUT unsigned char *const target, IN OUT size_t *const p_target_size)
Decrypt data.
pkcs11h_certificate_id_list_t next
Definition: pkcs11h-certificate.h:126
pkcs11h_certificate_id_t certificate_id
Definition: pkcs11h-certificate.h:128
void * pkcs11h_certificate_getUserData(IN const pkcs11h_certificate_t certificate)
Extract user data out of certificate.
char displayName[1024]
Definition: pkcs11h-certificate.h:109
CK_RV pkcs11h_certificate_sign(IN const pkcs11h_certificate_t certificate, IN const CK_MECHANISM_TYPE mech_type, IN const unsigned char *const source, IN const size_t source_size, OUT unsigned char *const target, IN OUT size_t *const p_target_size)
Sign data.
struct pkcs11h_certificate_id_s * pkcs11h_certificate_id_t
Certificate id reference.
Definition: pkcs11h-certificate.h:87
void pkcs11h_certificate_setUserData(IN const pkcs11h_certificate_t certificate, IN void *const user_data)
Extract user data out of certificate.
CK_RV pkcs11h_certificate_signAny(IN const pkcs11h_certificate_t certificate, IN const CK_MECHANISM_TYPE mech_type, IN const unsigned char *const source, IN const size_t source_size, OUT unsigned char *const target, IN OUT size_t *const p_target_size)
Sign data mechanism determined by key attributes.
CK_RV pkcs11h_certificate_freeCertificate(IN pkcs11h_certificate_t certificate)
Free certificate object.
Certificate id reference.
Definition: pkcs11h-certificate.h:104
CK_RV pkcs11h_certificate_getCertificateBlob(IN const pkcs11h_certificate_t certificate, OUT unsigned char *const certificate_blob, IN OUT size_t *const p_certificate_blob_size)
Get the certificate blob out of the certificate object.
CK_RV pkcs11h_certificate_setCertificateIdCertificateBlob(IN const pkcs11h_certificate_id_t certificate_id, IN const unsigned char *const blob, IN const size_t blob_size)
Sets internal certificate_id blob.
CK_RV pkcs11h_certificate_lockSession(IN const pkcs11h_certificate_t certificate)
Lock session for threded environment.
CK_RV pkcs11h_certificate_getCertificateId(IN const pkcs11h_certificate_t certificate, OUT pkcs11h_certificate_id_t *const p_certificate_id)
Get certifiate id object out of a certifiate.
Token identifier.
Definition: pkcs11h-core.h:268
CK_RV pkcs11h_certificate_enumTokenCertificateIds(IN const pkcs11h_token_id_t token_id, IN const unsigned method, IN void *const user_data, IN const unsigned mask_prompt, OUT pkcs11h_certificate_id_list_t *const p_cert_id_issuers_list, OUT pkcs11h_certificate_id_list_t *const p_cert_id_end_list)
Enumerate available certificates on specific token.
CK_RV pkcs11h_certificate_decryptAny(IN const pkcs11h_certificate_t certificate, IN const CK_MECHANISM_TYPE mech_type, IN const unsigned char *const source, IN const size_t source_size, OUT unsigned char *const target, IN OUT size_t *const p_target_size)
Decrypt data mechanism determined by key attributes.
CK_RV pkcs11h_certificate_create(IN const pkcs11h_certificate_id_t certificate_id, IN void *const user_data, IN const unsigned mask_prompt, IN const int pin_cache_period, OUT pkcs11h_certificate_t *const p_certificate)
Create a certificate object out of certificate_id.
CK_RV pkcs11h_certificate_unwrap(IN const pkcs11h_certificate_t certificate, IN const CK_MECHANISM_TYPE mech_type, IN const unsigned char *const source, IN const size_t source_size, OUT unsigned char *const target, IN OUT size_t *const p_target_size)
Decrypt data.
CK_RV pkcs11h_certificate_ensureCertificateAccess(IN const pkcs11h_certificate_t certificate)
Ensure certificate is accessible.
CK_RV pkcs11h_certificate_releaseSession(IN const pkcs11h_certificate_t certificate)
Releases session lock.
CK_RV pkcs11h_certificate_freeCertificateId(IN pkcs11h_certificate_id_t certificate_id)
Free certificate_id object.
unsigned pkcs11h_certificate_getPromptMask(IN const pkcs11h_certificate_t certificate)
Extract user data out of certificate.
CK_RV pkcs11h_certificate_enumCertificateIds(IN const unsigned method, IN void *const user_data, IN const unsigned mask_prompt, OUT pkcs11h_certificate_id_list_t *const p_cert_id_issuers_list, OUT pkcs11h_certificate_id_list_t *const p_cert_id_end_list)
Enumerate available certificates.
CK_RV pkcs11h_certificate_freeCertificateIdList(IN const pkcs11h_certificate_id_list_t cert_id_list)
Free certificate_id list.
pkcs11h_token_id_t token_id
Definition: pkcs11h-certificate.h:106
size_t attrCKA_ID_size
Definition: pkcs11h-certificate.h:113
CK_RV pkcs11h_certificate_ensureKeyAccess(IN const pkcs11h_certificate_t certificate)
Ensure key is accessible.
void pkcs11h_certificate_setPromptMask(IN const pkcs11h_certificate_t certificate, IN const unsigned mask_prompt)
Extract user data out of certificate.
CK_RV pkcs11h_certificate_signRecover(IN const pkcs11h_certificate_t certificate, IN const CK_MECHANISM_TYPE mech_type, IN const unsigned char *const source, IN const size_t source_size, OUT unsigned char *const target, IN OUT size_t *const p_target_size)
Sign data.
size_t certificate_blob_size
Definition: pkcs11h-certificate.h:118
Certificate id list.
Definition: pkcs11h-certificate.h:124