package pkcs11-driver

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Pkcs11Source

Low-level PKCS#11 bindings.

Sourcemodule Data = Pkcs11_data
Sourcemodule CK_ULONG = P11_ulong
Sourcemodule CK_BYTE = Pkcs11_CK_BYTE
Sourcemodule CK_BBOOL = Pkcs11_CK_BBOOL
Sourcemodule CK_UTF8CHAR = Pkcs11_CK_UTF8CHAR
Sourcemodule CK_VOID = Pkcs11_CK_VOID
Sourcemodule CK_SESSION_HANDLE = Pkcs11_CK_SESSION_HANDLE
Sourcemodule CK_OBJECT_HANDLE = Pkcs11_CK_OBJECT_HANDLE
Sourcemodule CK_HW_FEATURE_TYPE = Pkcs11_CK_HW_FEATURE_TYPE
Sourcemodule CK_SLOT_ID = Pkcs11_CK_SLOT_ID
Sourcemodule CK_FLAGS = Pkcs11_CK_FLAGS
Sourcemodule CK_OBJECT_CLASS = Pkcs11_CK_OBJECT_CLASS
Sourcemodule CK_KEY_TYPE = Pkcs11_CK_KEY_TYPE
Sourcemodule CK_VERSION = Pkcs11_CK_VERSION
Sourcemodule CK_BIGINT = P11_bigint
Sourcemodule CK_RV = Pkcs11_CK_RV
Sourcemodule CK_MECHANISM_TYPE = Pkcs11_CK_MECHANISM_TYPE
Sourcemodule CK_RSA_PKCS_MGF_TYPE = Pkcs11_CK_RSA_PKCS_MGF_TYPE
Sourcemodule CK_RSA_PKCS_OAEP_PARAMS = Pkcs11_CK_RSA_PKCS_OAEP_PARAMS
Sourcemodule CK_RSA_PKCS_PSS_PARAMS = Pkcs11_CK_RSA_PKCS_PSS_PARAMS
Sourcemodule CK_KEY_DERIVATION_STRING_DATA = Pkcs11_CK_KEY_DERIVATION_STRING_DATA
Sourcemodule CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE = Pkcs11_CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE
Sourcemodule CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE = Pkcs11_CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE
Sourcemodule CK_PKCS5_PBKD2_PARAMS = Pkcs11_CK_PKCS5_PBKD2_PARAMS
Sourcemodule CK_EC_KDF_TYPE = Pkcs11_CK_EC_KDF_TYPE
Sourcemodule CK_ECDH1_DERIVE_PARAMS = Pkcs11_CK_ECDH1_DERIVE_PARAMS
Sourcemodule CK_ECMQV_DERIVE_PARAMS = Pkcs11_CK_ECMQV_DERIVE_PARAMS
Sourcemodule CK_MECHANISM = Pkcs11_CK_MECHANISM
Sourcemodule Key_gen_mechanism = Pkcs11_key_gen_mechanism
Sourcemodule CK_USER_TYPE = Pkcs11_CK_USER_TYPE
Sourcemodule CK_INFO = Pkcs11_CK_INFO
Sourcemodule CK_TOKEN_INFO = Pkcs11_CK_TOKEN_INFO
Sourcemodule CK_SLOT_INFO = Pkcs11_CK_SLOT_INFO
Sourcemodule Slot_list = Pkcs11_slot_list
Sourcemodule CK_MECHANISM_INFO = Pkcs11_CK_MECHANISM_INFO
Sourcemodule CK_SESSION_INFO = Pkcs11_CK_SESSION_INFO
Sourcemodule CK_ATTRIBUTE_TYPE = Pkcs11_CK_ATTRIBUTE_TYPE
Sourcemodule CK_ATTRIBUTE = Pkcs11_CK_ATTRIBUTE
Sourcemodule CK_ATTRIBUTE_SET = Pkcs11_CK_ATTRIBUTE_SET
Sourcemodule Template = Pkcs11_template
Sourcemodule Mechanism_list = Pkcs11_mechanism_list
Sourcemodule CK_AES_CTR_PARAMS = Pkcs11_CK_AES_CTR_PARAMS
Sourcemodule CK_GCM_PARAMS = Pkcs11_CK_GCM_PARAMS
Sourcemodule Initialize_arg : sig ... end
Sourcemodule Nss_initialize_arg : sig ... end
Sourcetype _ck_function_list
Sourceval ck_function_list : ck_function_list Ctypes.typ
Sourcemodule CK_NOTIFY : sig ... end
Sourcemodule CK : sig ... end
Sourcemodule CK_FUNCTION_LIST : sig ... end

Function lists.

Sourcemodule type LOW_LEVEL_BINDINGS = sig ... end

Low-level bindings directly wrap the Ctypes function calls. The only functions available are the ones in the PKCS#11 interface specification. Functions expect to be passed and return CK_* types, and argument types exactly reflect those in the PKCS#11 specification.

Sourcemodule type CONFIG = sig ... end
Sourcemodule Fake (X : sig ... end) : LOW_LEVEL_BINDINGS
Sourcemodule type LOW_LEVEL_WRAPPER = sig ... end

A low-level wrapper wraps low-level bindings. Only functions in the PKCS#11 interface are available. Functions expect to mostly take and return CK_* types, but some arguments are named, use ocaml builtin types or are removed for convenience (for example the void ptr used by c_Initialize is replaced by unit).

Sourceval load_driver : ?log_calls:(string * Format.formatter) -> ?on_unknown:(string -> unit) -> ?load_mode:P11.Load_mode.t -> string -> (module LOW_LEVEL_BINDINGS)

on_unknown will be called with a warning message when unsupported codes are encountered.

OCaml

Innovation. Community. Security.