67 #ifndef __PKCS11H_BASE_H
68 #define __PKCS11H_BASE_H
77 #if defined(__cplusplus)
88 #define PKCS11H_FEATURE_MASK_ENGINE_CRYPTO_OPENSSL (1<< 0)
90 #define PKCS11H_FEATURE_MASK_ENGINE_CRYPTO_GNUTLS (1<< 1)
92 #define PKCS11H_FEATURE_MASK_ENGINE_CRYPTO_WIN32 (1<< 2)
94 #define PKCS11H_FEATURE_MASK_DEBUG (1<< 3)
96 #define PKCS11H_FEATURE_MASK_THREADING (1<< 4)
98 #define PKCS11H_FEATURE_MASK_TOKEN (1<< 5)
100 #define PKCS11H_FEATURE_MASK_DATA (1<< 6)
102 #define PKCS11H_FEATURE_MASK_CERTIFICATE (1<< 7)
104 #define PKCS11H_FEATURE_MASK_SLOTEVENT (1<< 8)
106 #define PKCS11H_FEATURE_MASK_OPENSSL (1<< 9)
117 #define PKCS11H_LOG_DEBUG2 5
119 #define PKCS11H_LOG_DEBUG1 4
121 #define PKCS11H_LOG_INFO 3
123 #define PKCS11H_LOG_WARN 2
125 #define PKCS11H_LOG_ERROR 1
127 #define PKCS11H_LOG_QUIET 0
131 #define PKCS11H_PIN_CACHE_INFINITE -1
139 #define PKCS11H_PRIVATEMODE_MASK_AUTO (0)
141 #define PKCS11H_PRIVATEMODE_MASK_SIGN (1<<0)
143 #define PKCS11H_PRIVATEMODE_MASK_RECOVER (1<<1)
145 #define PKCS11H_PRIVATEMODE_MASK_DECRYPT (1<<2)
147 #define PKCS11H_PRIVATEMODE_MASK_UNWRAP (1<<3)
156 #define PKCS11H_SLOTEVENT_METHOD_AUTO 0
158 #define PKCS11H_SLOTEVENT_METHOD_TRIGGER 1
160 #define PKCS11H_SLOTEVENT_METHOD_POLL 2
162 #define PKCS11H_SLOTEVENT_METHOD_FETCH 3
171 #define PKCS11H_PROMPT_MASK_ALLOW_PIN_PROMPT (1<<0)
173 #define PKCS11H_PROMPT_MASK_ALLOW_TOKEN_PROMPT (1<<1)
175 #define PKCS11H_PROMPT_MASK_ALLOW_ALL ( \
176 PKCS11H_PROMPT_MASK_ALLOW_PIN_PROMPT | \
177 PKCS11H_PROMPT_MASK_ALLOW_TOKEN_PROMPT \
187 #define PKCS11H_ENUM_METHOD_CACHE 0
189 #define PKCS11H_ENUM_METHOD_CACHE_EXIST 1
191 #define PKCS11H_ENUM_METHOD_RELOAD 2
209 IN
void *
const global_data,
210 IN
const unsigned flags,
211 IN
const char *
const format,
220 IN
void *
const global_data
232 IN
void *
const global_data,
233 IN
void *
const user_data,
234 IN
const pkcs11h_token_id_t token,
235 IN
const unsigned retry
249 IN
void *
const global_data,
250 IN
void *
const user_data,
251 IN
const pkcs11h_token_id_t token,
252 IN
const unsigned retry,
253 OUT
char *
const pin,
254 IN
const size_t pin_max
266 char model[
sizeof (((CK_TOKEN_INFO *)NULL)->model)+1];
270 char label[
sizeof (((CK_TOKEN_INFO *)NULL)->label)+1];
320 IN
const unsigned flags
344 IN
const PKCS11H_BOOL safe
356 IN
void *
const global_data
373 IN
void *
const global_data
387 IN
void *
const global_data
401 IN
void *
const global_data
412 IN
const PKCS11H_BOOL allow_protected_auth
423 IN
const int pin_cache_period
434 IN
const unsigned max_retries
452 IN
const char *
const reference,
453 IN
const char *
const provider_location,
454 IN
const PKCS11H_BOOL allow_protected_auth,
455 IN
const unsigned mask_private_mode,
456 IN
const unsigned slot_event_method,
457 IN
const unsigned slot_poll_interval,
458 IN
const PKCS11H_BOOL cert_is_private
469 IN
const char *
const reference
CK_RV pkcs11h_logout(void)
Logout from all sessions.
char serialNumber[sizeof(((CK_TOKEN_INFO *) NULL) ->serialNumber)+1]
Definition: pkcs11h-core.h:268
const char * pkcs11h_getMessage(IN const CK_RV rv)
Get message by return value.
PKCS11H_BOOL(* pkcs11h_hook_token_prompt_t)(IN void *const global_data, IN void *const user_data, IN const pkcs11h_token_id_t token, IN const unsigned retry)
Token prompt hook.
Definition: pkcs11h-core.h:231
unsigned pkcs11h_getLogLevel(void)
Get current log level.
char model[sizeof(((CK_TOKEN_INFO *) NULL) ->model)+1]
Definition: pkcs11h-core.h:266
char manufacturerID[sizeof(((CK_TOKEN_INFO *) NULL) ->manufacturerID)+1]
Definition: pkcs11h-core.h:264
CK_RV pkcs11h_plugAndPlay(void)
Handle slot rescan.
char display[1024]
Definition: pkcs11h-core.h:262
CK_RV pkcs11h_addProvider(IN const char *const reference, IN const char *const provider_location, IN const PKCS11H_BOOL allow_protected_auth, IN const unsigned mask_private_mode, IN const unsigned slot_event_method, IN const unsigned slot_poll_interval, IN const PKCS11H_BOOL cert_is_private)
Add a PKCS#11 provider.
CK_RV pkcs11h_setMaxLoginRetries(IN const unsigned max_retries)
Set global login retries attempts.
Token identifier.
Definition: pkcs11h-core.h:260
PKCS11H_BOOL(* pkcs11h_hook_pin_prompt_t)(IN void *const global_data, IN void *const user_data, IN const pkcs11h_token_id_t token, IN const unsigned retry, OUT char *const pin, IN const size_t pin_max)
PIN prompt hook.
Definition: pkcs11h-core.h:248
CK_RV pkcs11h_forkFixup(void)
Handle special case of POSIX fork()
unsigned int pkcs11h_getFeatures(void)
Get features of library.
CK_RV pkcs11h_setTokenPromptHook(IN const pkcs11h_hook_token_prompt_t hook, IN void *const global_data)
Set a token prompt callback.
CK_RV pkcs11h_setPINCachePeriod(IN const int pin_cache_period)
Set global PIN cache timeout.
CK_RV pkcs11h_setPINPromptHook(IN const pkcs11h_hook_pin_prompt_t hook, IN void *const global_data)
Set a pin prompt callback.
CK_RV pkcs11h_initialize(void)
Inititalize helper interface.
CK_RV pkcs11h_terminate(void)
Terminate helper interface.
CK_RV pkcs11h_setProtectedAuthentication(IN const PKCS11H_BOOL allow_protected_auth)
Set global protected authentication mode.
CK_RV pkcs11h_setSlotEventHook(IN const pkcs11h_hook_slotevent_t hook, IN void *const global_data)
Set a slot event callback.
void(* pkcs11h_hook_slotevent_t)(IN void *const global_data)
Slotevent hook.
Definition: pkcs11h-core.h:219
CK_RV pkcs11h_removeProvider(IN const char *const reference)
Delete a PKCS#11 provider.
CK_RV pkcs11h_setForkMode(IN const PKCS11H_BOOL safe)
How does the foked process bahaves after POSIX fork()
void(* pkcs11h_hook_log_t)(IN void *const global_data, IN const unsigned flags, IN const char *const format, IN va_list args)
Log hook.
Definition: pkcs11h-core.h:208
CK_RV pkcs11h_setLogHook(IN const pkcs11h_hook_log_t hook, IN void *const global_data)
Set a log callback.
unsigned int pkcs11h_getVersion(void)
Get version of library.
void pkcs11h_setLogLevel(IN const unsigned flags)
Set current log level of the helper.
pkcs11-helper engines definitions.
struct pkcs11h_token_id_s * pkcs11h_token_id_t
Token identifier.
Definition: pkcs11h-core.h:199
pkcs11-helper core definitions.
char label[sizeof(((CK_TOKEN_INFO *) NULL) ->label)+1]
Definition: pkcs11h-core.h:270