72#ifndef __PKCS11H_CERTIFICATE_H
73#define __PKCS11H_CERTIFICATE_H
77#if defined(__cplusplus)
82struct pkcs11h_certificate_s;
167 IN
const unsigned char *
const blob,
168 IN
const size_t blob_size
196 IN
void *
const user_data,
197 IN
const unsigned mask_prompt,
198 IN
const int pin_cache_period,
220 IN
const unsigned mask_prompt
241 IN
void *
const user_data
269 OUT
unsigned char *
const certificate_blob,
270 IN OUT
size_t *
const p_certificate_blob_size
299 IN
const char *
const sz
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
393 IN
const CK_MECHANISM *
const mech,
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
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
441 IN
const CK_MECHANISM *
const mech,
442 IN
const unsigned char *
const source,
443 IN
const size_t source_size,
444 OUT
unsigned char *
const target,
445 IN OUT
size_t *
const p_target_size
464 IN
const CK_MECHANISM_TYPE mech_type,
465 IN
const unsigned char *
const source,
466 IN
const size_t source_size,
467 OUT
unsigned char *
const target,
468 IN OUT
size_t *
const p_target_size
487 IN
const CK_MECHANISM *
const mech,
488 IN
const unsigned char *
const source,
489 IN
const size_t source_size,
490 OUT
unsigned char *
const target,
491 IN OUT
size_t *
const p_target_size
510 IN
const CK_MECHANISM_TYPE mech_type,
511 IN
const unsigned char *
const source,
512 IN
const size_t source_size,
513 OUT
unsigned char *
const target,
514 IN OUT
size_t *
const p_target_size
533 IN
const CK_MECHANISM *
const mech,
534 IN
const unsigned char *
const source,
535 IN
const size_t source_size,
536 OUT
unsigned char *
const target,
537 IN OUT
size_t *
const p_target_size
556 IN
const CK_MECHANISM_TYPE mech_type,
557 IN
const unsigned char *
const source,
558 IN
const size_t source_size,
559 OUT
unsigned char *
const target,
560 IN OUT
size_t *
const p_target_size
579 IN
const CK_MECHANISM *
const mech,
580 IN
const unsigned char *
const source,
581 IN
const size_t source_size,
582 OUT
unsigned char *
const target,
583 IN OUT
size_t *
const p_target_size
602 IN
const CK_MECHANISM_TYPE mech_type,
603 IN
const unsigned char *
const source,
604 IN
const size_t source_size,
605 OUT
unsigned char *
const target,
606 IN OUT
size_t *
const p_target_size
625 IN
const CK_MECHANISM *
const mech,
626 IN
const unsigned char *
const source,
627 IN
const size_t source_size,
628 OUT
unsigned char *
const target,
629 IN OUT
size_t *
const p_target_size
659 IN
const unsigned method,
660 IN
void *
const user_data,
661 IN
const unsigned mask_prompt,
680 IN
const unsigned method,
681 IN
void *
const user_data,
682 IN
const unsigned mask_prompt,
unsigned pkcs11h_certificate_getPromptMask(IN const pkcs11h_certificate_t certificate)
Extract user data out of certificate.
struct pkcs11h_certificate_id_s * pkcs11h_certificate_id_t
Certificate id reference.
Definition pkcs11h-certificate.h:87
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_signRecover_ex(IN const pkcs11h_certificate_t certificate, IN const CK_MECHANISM *const mech, 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 with mechanism parameters.
CK_RV pkcs11h_certificate_unwrap_ex(IN const pkcs11h_certificate_t certificate, IN const CK_MECHANISM *const mech, 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 with mechanism parameters.
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 with method determined by key attributes.
CK_RV pkcs11h_certificate_decryptAny_ex(IN const pkcs11h_certificate_t certificate, IN const CK_MECHANISM *const mech, 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 with method determined by key attributes.
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.
CK_RV pkcs11h_certificate_releaseSession(IN const pkcs11h_certificate_t certificate)
Releases session lock.
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.
void * pkcs11h_certificate_getUserData(IN const pkcs11h_certificate_t certificate)
Extract user data out of certificate.
CK_RV pkcs11h_certificate_freeCertificateIdList(IN const pkcs11h_certificate_id_list_t cert_id_list)
Free certificate_id list.
struct pkcs11h_certificate_s * pkcs11h_certificate_t
Certificate object.
Definition pkcs11h-certificate.h:92
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_freeCertificateId(IN pkcs11h_certificate_id_t certificate_id)
Free certificate_id object.
void pkcs11h_certificate_setUserData(IN const pkcs11h_certificate_t certificate, IN void *const user_data)
Extract user data out of certificate.
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_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_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_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.
CK_RV pkcs11h_certificate_ensureCertificateAccess(IN const pkcs11h_certificate_t certificate)
Ensure certificate is accessible.
CK_RV pkcs11h_certificate_getCertificateId(IN const pkcs11h_certificate_t certificate, OUT pkcs11h_certificate_id_t *const p_certificate_id)
Get certificate id object out of a certificate.
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 with method determined by key attributes.
CK_RV pkcs11h_certificate_ensureKeyAccess(IN const pkcs11h_certificate_t certificate)
Ensure key is accessible.
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_signAny_ex(IN const pkcs11h_certificate_t certificate, IN const CK_MECHANISM *const mech, 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 with method determined by key attributes.
struct pkcs11h_certificate_id_list_s * pkcs11h_certificate_id_list_t
Certificate id list.
Definition pkcs11h-certificate.h:99
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.
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_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_freeCertificate(IN pkcs11h_certificate_t certificate)
Free certificate object.
CK_RV pkcs11h_certificate_decrypt_ex(IN const pkcs11h_certificate_t certificate, IN const CK_MECHANISM *const mech, 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 with mechanism parameters.
CK_RV pkcs11h_certificate_sign_ex(IN const pkcs11h_certificate_t certificate, IN const CK_MECHANISM *const mech, 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 with mechanism parameters.
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.
CK_RV pkcs11h_certificate_lockSession(IN const pkcs11h_certificate_t certificate)
Lock session for threaded environment.
struct pkcs11h_token_id_s * pkcs11h_token_id_t
Token identifier.
Definition pkcs11h-core.h:406
Certificate id list.
Definition pkcs11h-certificate.h:124
pkcs11h_certificate_id_list_t next
Definition pkcs11h-certificate.h:126
pkcs11h_certificate_id_t certificate_id
Definition pkcs11h-certificate.h:128
Certificate id reference.
Definition pkcs11h-certificate.h:104
pkcs11h_token_id_t token_id
Definition pkcs11h-certificate.h:106
char displayName[1024]
Definition pkcs11h-certificate.h:109
unsigned char * certificate_blob
Definition pkcs11h-certificate.h:116
size_t attrCKA_ID_size
Definition pkcs11h-certificate.h:113
CK_BYTE_PTR attrCKA_ID
Definition pkcs11h-certificate.h:111
size_t certificate_blob_size
Definition pkcs11h-certificate.h:118