73 #ifndef __PKCS11H_CERTIFICATE_H
74 #define __PKCS11H_CERTIFICATE_H
78 #if defined(__cplusplus)
83 struct pkcs11h_certificate_s;
127 pkcs11h_certificate_id_list_t
next;
139 IN pkcs11h_certificate_id_t certificate_id
152 OUT pkcs11h_certificate_id_t *
const to,
153 IN
const pkcs11h_certificate_id_t from
167 IN
const pkcs11h_certificate_id_t certificate_id,
168 IN
const unsigned char *
const blob,
169 IN
const size_t blob_size
179 IN pkcs11h_certificate_t certificate
196 IN
const pkcs11h_certificate_id_t certificate_id,
197 IN
void *
const user_data,
198 IN
const unsigned mask_prompt,
199 IN
const int pin_cache_period,
200 OUT pkcs11h_certificate_t *
const p_certificate
210 IN
const pkcs11h_certificate_t certificate
220 IN
const pkcs11h_certificate_t certificate,
221 IN
const unsigned mask_prompt
231 IN
const pkcs11h_certificate_t certificate
241 IN
const pkcs11h_certificate_t certificate,
242 IN
void *
const user_data
255 IN
const pkcs11h_certificate_t certificate,
256 OUT pkcs11h_certificate_id_t *
const p_certificate_id
269 IN
const pkcs11h_certificate_t certificate,
270 OUT
unsigned char *
const certificate_blob,
271 IN OUT
size_t *
const p_certificate_blob_size
286 IN
const pkcs11h_certificate_id_t certificate_id
299 OUT pkcs11h_certificate_id_t *
const p_certificate_id,
300 IN
const char *
const sz
310 IN
const pkcs11h_certificate_t certificate
320 IN
const pkcs11h_certificate_t certificate
339 IN
const pkcs11h_certificate_t certificate
350 IN
const pkcs11h_certificate_t certificate
369 IN
const pkcs11h_certificate_t certificate,
370 IN
const CK_MECHANISM_TYPE mech_type,
371 IN
const unsigned char *
const source,
372 IN
const size_t source_size,
373 OUT
unsigned char *
const target,
374 IN OUT
size_t *
const p_target_size
393 IN
const pkcs11h_certificate_t certificate,
394 IN
const CK_MECHANISM_TYPE mech_type,
395 IN
const unsigned char *
const source,
396 IN
const size_t source_size,
397 OUT
unsigned char *
const target,
398 IN OUT
size_t *
const p_target_size
416 IN
const pkcs11h_certificate_t certificate,
417 IN
const CK_MECHANISM_TYPE mech_type,
418 IN
const unsigned char *
const source,
419 IN
const size_t source_size,
420 OUT
unsigned char *
const target,
421 IN OUT
size_t *
const p_target_size
439 IN
const pkcs11h_certificate_t certificate,
440 IN
const CK_MECHANISM_TYPE mech_type,
441 IN
const unsigned char *
const source,
442 IN
const size_t source_size,
443 OUT
unsigned char *
const target,
444 IN OUT
size_t *
const p_target_size
462 IN
const pkcs11h_certificate_t certificate,
463 IN
const CK_MECHANISM_TYPE mech_type,
464 IN
const unsigned char *
const source,
465 IN
const size_t source_size,
466 OUT
unsigned char *
const target,
467 IN OUT
size_t *
const p_target_size
485 IN
const pkcs11h_certificate_t certificate,
486 IN
const CK_MECHANISM_TYPE mech_type,
487 IN
const unsigned char *
const source,
488 IN
const size_t source_size,
489 OUT
unsigned char *
const target,
490 IN OUT
size_t *
const p_target_size
500 IN
const pkcs11h_certificate_id_list_t cert_id_list
520 IN
const unsigned method,
521 IN
void *
const user_data,
522 IN
const unsigned mask_prompt,
523 OUT pkcs11h_certificate_id_list_t *
const p_cert_id_issuers_list,
524 OUT pkcs11h_certificate_id_list_t *
const p_cert_id_end_list
541 IN
const unsigned method,
542 IN
void *
const user_data,
543 IN
const unsigned mask_prompt,
544 OUT pkcs11h_certificate_id_list_t *
const p_cert_id_issuers_list,
545 OUT pkcs11h_certificate_id_list_t *
const p_cert_id_end_list
CK_BYTE_PTR attrCKA_ID
Definition: pkcs11h-certificate.h:112
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:100
struct pkcs11h_certificate_s * pkcs11h_certificate_t
Certificate object.
Definition: pkcs11h-certificate.h:93
unsigned char * certificate_blob
Definition: pkcs11h-certificate.h:117
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:127
pkcs11h_certificate_id_t certificate_id
Definition: pkcs11h-certificate.h:129
void * pkcs11h_certificate_getUserData(IN const pkcs11h_certificate_t certificate)
Extract user data out of certificate.
char displayName[1024]
Definition: pkcs11h-certificate.h:110
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:88
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:105
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:267
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:107
size_t attrCKA_ID_size
Definition: pkcs11h-certificate.h:114
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:119
Certificate id list.
Definition: pkcs11h-certificate.h:125