Struct cryptoki_sys::Pkcs11

source ·
pub struct Pkcs11 {
Show 68 fields pub C_Initialize: Result<unsafe extern "C" fn(init_args: *mut c_void) -> CK_RV, Error>, pub C_Finalize: Result<unsafe extern "C" fn(pReserved: *mut c_void) -> CK_RV, Error>, pub C_GetInfo: Result<unsafe extern "C" fn(info: *mut _CK_INFO) -> CK_RV, Error>, pub C_GetFunctionList: Result<unsafe extern "C" fn(function_list: *mut *mut _CK_FUNCTION_LIST) -> CK_RV, Error>, pub C_GetSlotList: Result<unsafe extern "C" fn(token_present: c_uchar, slot_list: *mut CK_SLOT_ID, ulCount: *mut c_ulong) -> CK_RV, Error>, pub C_GetSlotInfo: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID, info: *mut _CK_SLOT_INFO) -> CK_RV, Error>, pub C_GetTokenInfo: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID, info: *mut _CK_TOKEN_INFO) -> CK_RV, Error>, pub C_WaitForSlotEvent: Result<unsafe extern "C" fn(flags: CK_FLAGS, slot: *mut CK_SLOT_ID, pReserved: *mut c_void) -> CK_RV, Error>, pub C_GetMechanismList: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID, mechanism_list: *mut CK_MECHANISM_TYPE, ulCount: *mut c_ulong) -> CK_RV, Error>, pub C_GetMechanismInfo: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID, type_: CK_MECHANISM_TYPE, info: *mut _CK_MECHANISM_INFO) -> CK_RV, Error>, pub C_InitToken: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID, pin: *mut c_uchar, pin_len: c_ulong, label: *mut c_uchar) -> CK_RV, Error>, pub C_InitPIN: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, pin: *mut c_uchar, pin_len: c_ulong) -> CK_RV, Error>, pub C_SetPIN: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, old_pin: *mut c_uchar, old_len: c_ulong, new_pin: *mut c_uchar, new_len: c_ulong) -> CK_RV, Error>, pub C_OpenSession: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID, flags: CK_FLAGS, application: *mut c_void, notify: CK_NOTIFY, session: *mut CK_SESSION_HANDLE) -> CK_RV, Error>, pub C_CloseSession: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE) -> CK_RV, Error>, pub C_CloseAllSessions: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID) -> CK_RV, Error>, pub C_GetSessionInfo: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, info: *mut _CK_SESSION_INFO) -> CK_RV, Error>, pub C_GetOperationState: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, operation_state: *mut c_uchar, operation_state_len: *mut c_ulong) -> CK_RV, Error>, pub C_SetOperationState: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, operation_state: *mut c_uchar, operation_state_len: c_ulong, encryption_key: CK_OBJECT_HANDLE, authentiation_key: CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_Login: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, user_type: CK_USER_TYPE, pin: *mut c_uchar, pin_len: c_ulong) -> CK_RV, Error>, pub C_Logout: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE) -> CK_RV, Error>, pub C_CreateObject: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong, object: *mut CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_CopyObject: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong, new_object: *mut CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_DestroyObject: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_GetObjectSize: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE, size: *mut c_ulong) -> CK_RV, Error>, pub C_GetAttributeValue: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong) -> CK_RV, Error>, pub C_SetAttributeValue: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong) -> CK_RV, Error>, pub C_FindObjectsInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong) -> CK_RV, Error>, pub C_FindObjects: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, object: *mut CK_OBJECT_HANDLE, max_object_count: c_ulong, object_count: *mut c_ulong) -> CK_RV, Error>, pub C_FindObjectsFinal: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE) -> CK_RV, Error>, pub C_EncryptInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_Encrypt: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, encrypted_data: *mut c_uchar, encrypted_data_len: *mut c_ulong) -> CK_RV, Error>, pub C_EncryptUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong, encrypted_part: *mut c_uchar, encrypted_part_len: *mut c_ulong) -> CK_RV, Error>, pub C_EncryptFinal: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, last_encrypted_part: *mut c_uchar, last_encrypted_part_len: *mut c_ulong) -> CK_RV, Error>, pub C_DecryptInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_Decrypt: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, encrypted_data: *mut c_uchar, encrypted_data_len: c_ulong, data: *mut c_uchar, data_len: *mut c_ulong) -> CK_RV, Error>, pub C_DecryptUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, encrypted_part: *mut c_uchar, encrypted_part_len: c_ulong, part: *mut c_uchar, part_len: *mut c_ulong) -> CK_RV, Error>, pub C_DecryptFinal: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, last_part: *mut c_uchar, last_part_len: *mut c_ulong) -> CK_RV, Error>, pub C_DigestInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM) -> CK_RV, Error>, pub C_Digest: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, digest: *mut c_uchar, digest_len: *mut c_ulong) -> CK_RV, Error>, pub C_DigestUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong) -> CK_RV, Error>, pub C_DigestKey: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, key: CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_DigestFinal: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, digest: *mut c_uchar, digest_len: *mut c_ulong) -> CK_RV, Error>, pub C_SignInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_Sign: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, signature: *mut c_uchar, signature_len: *mut c_ulong) -> CK_RV, Error>, pub C_SignUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong) -> CK_RV, Error>, pub C_SignFinal: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, signature: *mut c_uchar, signature_len: *mut c_ulong) -> CK_RV, Error>, pub C_SignRecoverInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_SignRecover: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, signature: *mut c_uchar, signature_len: *mut c_ulong) -> CK_RV, Error>, pub C_VerifyInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_Verify: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, signature: *mut c_uchar, signature_len: c_ulong) -> CK_RV, Error>, pub C_VerifyUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong) -> CK_RV, Error>, pub C_VerifyFinal: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, signature: *mut c_uchar, signature_len: c_ulong) -> CK_RV, Error>, pub C_VerifyRecoverInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_VerifyRecover: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, signature: *mut c_uchar, signature_len: c_ulong, data: *mut c_uchar, data_len: *mut c_ulong) -> CK_RV, Error>, pub C_DigestEncryptUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong, encrypted_part: *mut c_uchar, encrypted_part_len: *mut c_ulong) -> CK_RV, Error>, pub C_DecryptDigestUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, encrypted_part: *mut c_uchar, encrypted_part_len: c_ulong, part: *mut c_uchar, part_len: *mut c_ulong) -> CK_RV, Error>, pub C_SignEncryptUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong, encrypted_part: *mut c_uchar, encrypted_part_len: *mut c_ulong) -> CK_RV, Error>, pub C_DecryptVerifyUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, encrypted_part: *mut c_uchar, encrypted_part_len: c_ulong, part: *mut c_uchar, part_len: *mut c_ulong) -> CK_RV, Error>, pub C_GenerateKey: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong, key: *mut CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_GenerateKeyPair: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, public_key_template: *mut _CK_ATTRIBUTE, public_key_attribute_count: c_ulong, private_key_template: *mut _CK_ATTRIBUTE, private_key_attribute_count: c_ulong, public_key: *mut CK_OBJECT_HANDLE, private_key: *mut CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_WrapKey: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, wrapping_key: CK_OBJECT_HANDLE, key: CK_OBJECT_HANDLE, wrapped_key: *mut c_uchar, wrapped_key_len: *mut c_ulong) -> CK_RV, Error>, pub C_UnwrapKey: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, unwrapping_key: CK_OBJECT_HANDLE, wrapped_key: *mut c_uchar, wrapped_key_len: c_ulong, templ: *mut _CK_ATTRIBUTE, attribute_count: c_ulong, key: *mut CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_DeriveKey: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, base_key: CK_OBJECT_HANDLE, templ: *mut _CK_ATTRIBUTE, attribute_count: c_ulong, key: *mut CK_OBJECT_HANDLE) -> CK_RV, Error>, pub C_SeedRandom: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, seed: *mut c_uchar, seed_len: c_ulong) -> CK_RV, Error>, pub C_GenerateRandom: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, random_data: *mut c_uchar, random_len: c_ulong) -> CK_RV, Error>, pub C_GetFunctionStatus: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE) -> CK_RV, Error>, pub C_CancelFunction: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE) -> CK_RV, Error>, /* private fields */
}

Fields§

§C_Initialize: Result<unsafe extern "C" fn(init_args: *mut c_void) -> CK_RV, Error>§C_Finalize: Result<unsafe extern "C" fn(pReserved: *mut c_void) -> CK_RV, Error>§C_GetInfo: Result<unsafe extern "C" fn(info: *mut _CK_INFO) -> CK_RV, Error>§C_GetFunctionList: Result<unsafe extern "C" fn(function_list: *mut *mut _CK_FUNCTION_LIST) -> CK_RV, Error>§C_GetSlotList: Result<unsafe extern "C" fn(token_present: c_uchar, slot_list: *mut CK_SLOT_ID, ulCount: *mut c_ulong) -> CK_RV, Error>§C_GetSlotInfo: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID, info: *mut _CK_SLOT_INFO) -> CK_RV, Error>§C_GetTokenInfo: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID, info: *mut _CK_TOKEN_INFO) -> CK_RV, Error>§C_WaitForSlotEvent: Result<unsafe extern "C" fn(flags: CK_FLAGS, slot: *mut CK_SLOT_ID, pReserved: *mut c_void) -> CK_RV, Error>§C_GetMechanismList: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID, mechanism_list: *mut CK_MECHANISM_TYPE, ulCount: *mut c_ulong) -> CK_RV, Error>§C_GetMechanismInfo: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID, type_: CK_MECHANISM_TYPE, info: *mut _CK_MECHANISM_INFO) -> CK_RV, Error>§C_InitToken: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID, pin: *mut c_uchar, pin_len: c_ulong, label: *mut c_uchar) -> CK_RV, Error>§C_InitPIN: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, pin: *mut c_uchar, pin_len: c_ulong) -> CK_RV, Error>§C_SetPIN: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, old_pin: *mut c_uchar, old_len: c_ulong, new_pin: *mut c_uchar, new_len: c_ulong) -> CK_RV, Error>§C_OpenSession: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID, flags: CK_FLAGS, application: *mut c_void, notify: CK_NOTIFY, session: *mut CK_SESSION_HANDLE) -> CK_RV, Error>§C_CloseSession: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE) -> CK_RV, Error>§C_CloseAllSessions: Result<unsafe extern "C" fn(slotID: CK_SLOT_ID) -> CK_RV, Error>§C_GetSessionInfo: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, info: *mut _CK_SESSION_INFO) -> CK_RV, Error>§C_GetOperationState: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, operation_state: *mut c_uchar, operation_state_len: *mut c_ulong) -> CK_RV, Error>§C_SetOperationState: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, operation_state: *mut c_uchar, operation_state_len: c_ulong, encryption_key: CK_OBJECT_HANDLE, authentiation_key: CK_OBJECT_HANDLE) -> CK_RV, Error>§C_Login: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, user_type: CK_USER_TYPE, pin: *mut c_uchar, pin_len: c_ulong) -> CK_RV, Error>§C_Logout: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE) -> CK_RV, Error>§C_CreateObject: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong, object: *mut CK_OBJECT_HANDLE) -> CK_RV, Error>§C_CopyObject: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong, new_object: *mut CK_OBJECT_HANDLE) -> CK_RV, Error>§C_DestroyObject: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE) -> CK_RV, Error>§C_GetObjectSize: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE, size: *mut c_ulong) -> CK_RV, Error>§C_GetAttributeValue: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong) -> CK_RV, Error>§C_SetAttributeValue: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong) -> CK_RV, Error>§C_FindObjectsInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong) -> CK_RV, Error>§C_FindObjects: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, object: *mut CK_OBJECT_HANDLE, max_object_count: c_ulong, object_count: *mut c_ulong) -> CK_RV, Error>§C_FindObjectsFinal: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE) -> CK_RV, Error>§C_EncryptInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE) -> CK_RV, Error>§C_Encrypt: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, encrypted_data: *mut c_uchar, encrypted_data_len: *mut c_ulong) -> CK_RV, Error>§C_EncryptUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong, encrypted_part: *mut c_uchar, encrypted_part_len: *mut c_ulong) -> CK_RV, Error>§C_EncryptFinal: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, last_encrypted_part: *mut c_uchar, last_encrypted_part_len: *mut c_ulong) -> CK_RV, Error>§C_DecryptInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE) -> CK_RV, Error>§C_Decrypt: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, encrypted_data: *mut c_uchar, encrypted_data_len: c_ulong, data: *mut c_uchar, data_len: *mut c_ulong) -> CK_RV, Error>§C_DecryptUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, encrypted_part: *mut c_uchar, encrypted_part_len: c_ulong, part: *mut c_uchar, part_len: *mut c_ulong) -> CK_RV, Error>§C_DecryptFinal: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, last_part: *mut c_uchar, last_part_len: *mut c_ulong) -> CK_RV, Error>§C_DigestInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM) -> CK_RV, Error>§C_Digest: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, digest: *mut c_uchar, digest_len: *mut c_ulong) -> CK_RV, Error>§C_DigestUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong) -> CK_RV, Error>§C_DigestKey: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, key: CK_OBJECT_HANDLE) -> CK_RV, Error>§C_DigestFinal: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, digest: *mut c_uchar, digest_len: *mut c_ulong) -> CK_RV, Error>§C_SignInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE) -> CK_RV, Error>§C_Sign: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, signature: *mut c_uchar, signature_len: *mut c_ulong) -> CK_RV, Error>§C_SignUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong) -> CK_RV, Error>§C_SignFinal: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, signature: *mut c_uchar, signature_len: *mut c_ulong) -> CK_RV, Error>§C_SignRecoverInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE) -> CK_RV, Error>§C_SignRecover: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, signature: *mut c_uchar, signature_len: *mut c_ulong) -> CK_RV, Error>§C_VerifyInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE) -> CK_RV, Error>§C_Verify: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, signature: *mut c_uchar, signature_len: c_ulong) -> CK_RV, Error>§C_VerifyUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong) -> CK_RV, Error>§C_VerifyFinal: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, signature: *mut c_uchar, signature_len: c_ulong) -> CK_RV, Error>§C_VerifyRecoverInit: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE) -> CK_RV, Error>§C_VerifyRecover: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, signature: *mut c_uchar, signature_len: c_ulong, data: *mut c_uchar, data_len: *mut c_ulong) -> CK_RV, Error>§C_DigestEncryptUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong, encrypted_part: *mut c_uchar, encrypted_part_len: *mut c_ulong) -> CK_RV, Error>§C_DecryptDigestUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, encrypted_part: *mut c_uchar, encrypted_part_len: c_ulong, part: *mut c_uchar, part_len: *mut c_ulong) -> CK_RV, Error>§C_SignEncryptUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong, encrypted_part: *mut c_uchar, encrypted_part_len: *mut c_ulong) -> CK_RV, Error>§C_DecryptVerifyUpdate: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, encrypted_part: *mut c_uchar, encrypted_part_len: c_ulong, part: *mut c_uchar, part_len: *mut c_ulong) -> CK_RV, Error>§C_GenerateKey: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong, key: *mut CK_OBJECT_HANDLE) -> CK_RV, Error>§C_GenerateKeyPair: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, public_key_template: *mut _CK_ATTRIBUTE, public_key_attribute_count: c_ulong, private_key_template: *mut _CK_ATTRIBUTE, private_key_attribute_count: c_ulong, public_key: *mut CK_OBJECT_HANDLE, private_key: *mut CK_OBJECT_HANDLE) -> CK_RV, Error>§C_WrapKey: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, wrapping_key: CK_OBJECT_HANDLE, key: CK_OBJECT_HANDLE, wrapped_key: *mut c_uchar, wrapped_key_len: *mut c_ulong) -> CK_RV, Error>§C_UnwrapKey: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, unwrapping_key: CK_OBJECT_HANDLE, wrapped_key: *mut c_uchar, wrapped_key_len: c_ulong, templ: *mut _CK_ATTRIBUTE, attribute_count: c_ulong, key: *mut CK_OBJECT_HANDLE) -> CK_RV, Error>§C_DeriveKey: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, base_key: CK_OBJECT_HANDLE, templ: *mut _CK_ATTRIBUTE, attribute_count: c_ulong, key: *mut CK_OBJECT_HANDLE) -> CK_RV, Error>§C_SeedRandom: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, seed: *mut c_uchar, seed_len: c_ulong) -> CK_RV, Error>§C_GenerateRandom: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE, random_data: *mut c_uchar, random_len: c_ulong) -> CK_RV, Error>§C_GetFunctionStatus: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE) -> CK_RV, Error>§C_CancelFunction: Result<unsafe extern "C" fn(session: CK_SESSION_HANDLE) -> CK_RV, Error>

Implementations§

source§

impl Pkcs11

source

pub unsafe fn new<P>(path: P) -> Result<Self, Error>where P: AsRef<OsStr>,

source

pub unsafe fn from_library<L>(library: L) -> Result<Self, Error>where L: Into<Library>,

source

pub unsafe fn C_Initialize(&self, init_args: *mut c_void) -> CK_RV

source

pub unsafe fn C_Finalize(&self, pReserved: *mut c_void) -> CK_RV

source

pub unsafe fn C_GetInfo(&self, info: *mut _CK_INFO) -> CK_RV

source

pub unsafe fn C_GetFunctionList( &self, function_list: *mut *mut _CK_FUNCTION_LIST ) -> CK_RV

source

pub unsafe fn C_GetSlotList( &self, token_present: c_uchar, slot_list: *mut CK_SLOT_ID, ulCount: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_GetSlotInfo( &self, slotID: CK_SLOT_ID, info: *mut _CK_SLOT_INFO ) -> CK_RV

source

pub unsafe fn C_GetTokenInfo( &self, slotID: CK_SLOT_ID, info: *mut _CK_TOKEN_INFO ) -> CK_RV

source

pub unsafe fn C_WaitForSlotEvent( &self, flags: CK_FLAGS, slot: *mut CK_SLOT_ID, pReserved: *mut c_void ) -> CK_RV

source

pub unsafe fn C_GetMechanismList( &self, slotID: CK_SLOT_ID, mechanism_list: *mut CK_MECHANISM_TYPE, ulCount: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_GetMechanismInfo( &self, slotID: CK_SLOT_ID, type_: CK_MECHANISM_TYPE, info: *mut _CK_MECHANISM_INFO ) -> CK_RV

source

pub unsafe fn C_InitToken( &self, slotID: CK_SLOT_ID, pin: *mut c_uchar, pin_len: c_ulong, label: *mut c_uchar ) -> CK_RV

source

pub unsafe fn C_InitPIN( &self, session: CK_SESSION_HANDLE, pin: *mut c_uchar, pin_len: c_ulong ) -> CK_RV

source

pub unsafe fn C_SetPIN( &self, session: CK_SESSION_HANDLE, old_pin: *mut c_uchar, old_len: c_ulong, new_pin: *mut c_uchar, new_len: c_ulong ) -> CK_RV

source

pub unsafe fn C_OpenSession( &self, slotID: CK_SLOT_ID, flags: CK_FLAGS, application: *mut c_void, notify: CK_NOTIFY, session: *mut CK_SESSION_HANDLE ) -> CK_RV

source

pub unsafe fn C_CloseSession(&self, session: CK_SESSION_HANDLE) -> CK_RV

source

pub unsafe fn C_CloseAllSessions(&self, slotID: CK_SLOT_ID) -> CK_RV

source

pub unsafe fn C_GetSessionInfo( &self, session: CK_SESSION_HANDLE, info: *mut _CK_SESSION_INFO ) -> CK_RV

source

pub unsafe fn C_GetOperationState( &self, session: CK_SESSION_HANDLE, operation_state: *mut c_uchar, operation_state_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_SetOperationState( &self, session: CK_SESSION_HANDLE, operation_state: *mut c_uchar, operation_state_len: c_ulong, encryption_key: CK_OBJECT_HANDLE, authentiation_key: CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_Login( &self, session: CK_SESSION_HANDLE, user_type: CK_USER_TYPE, pin: *mut c_uchar, pin_len: c_ulong ) -> CK_RV

source

pub unsafe fn C_Logout(&self, session: CK_SESSION_HANDLE) -> CK_RV

source

pub unsafe fn C_CreateObject( &self, session: CK_SESSION_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong, object: *mut CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_CopyObject( &self, session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong, new_object: *mut CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_DestroyObject( &self, session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_GetObjectSize( &self, session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE, size: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_GetAttributeValue( &self, session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong ) -> CK_RV

source

pub unsafe fn C_SetAttributeValue( &self, session: CK_SESSION_HANDLE, object: CK_OBJECT_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong ) -> CK_RV

source

pub unsafe fn C_FindObjectsInit( &self, session: CK_SESSION_HANDLE, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong ) -> CK_RV

source

pub unsafe fn C_FindObjects( &self, session: CK_SESSION_HANDLE, object: *mut CK_OBJECT_HANDLE, max_object_count: c_ulong, object_count: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_FindObjectsFinal(&self, session: CK_SESSION_HANDLE) -> CK_RV

source

pub unsafe fn C_EncryptInit( &self, session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_Encrypt( &self, session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, encrypted_data: *mut c_uchar, encrypted_data_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_EncryptUpdate( &self, session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong, encrypted_part: *mut c_uchar, encrypted_part_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_EncryptFinal( &self, session: CK_SESSION_HANDLE, last_encrypted_part: *mut c_uchar, last_encrypted_part_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_DecryptInit( &self, session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_Decrypt( &self, session: CK_SESSION_HANDLE, encrypted_data: *mut c_uchar, encrypted_data_len: c_ulong, data: *mut c_uchar, data_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_DecryptUpdate( &self, session: CK_SESSION_HANDLE, encrypted_part: *mut c_uchar, encrypted_part_len: c_ulong, part: *mut c_uchar, part_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_DecryptFinal( &self, session: CK_SESSION_HANDLE, last_part: *mut c_uchar, last_part_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_DigestInit( &self, session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM ) -> CK_RV

source

pub unsafe fn C_Digest( &self, session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, digest: *mut c_uchar, digest_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_DigestUpdate( &self, session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong ) -> CK_RV

source

pub unsafe fn C_DigestKey( &self, session: CK_SESSION_HANDLE, key: CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_DigestFinal( &self, session: CK_SESSION_HANDLE, digest: *mut c_uchar, digest_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_SignInit( &self, session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_Sign( &self, session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, signature: *mut c_uchar, signature_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_SignUpdate( &self, session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong ) -> CK_RV

source

pub unsafe fn C_SignFinal( &self, session: CK_SESSION_HANDLE, signature: *mut c_uchar, signature_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_SignRecoverInit( &self, session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_SignRecover( &self, session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, signature: *mut c_uchar, signature_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_VerifyInit( &self, session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_Verify( &self, session: CK_SESSION_HANDLE, data: *mut c_uchar, data_len: c_ulong, signature: *mut c_uchar, signature_len: c_ulong ) -> CK_RV

source

pub unsafe fn C_VerifyUpdate( &self, session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong ) -> CK_RV

source

pub unsafe fn C_VerifyFinal( &self, session: CK_SESSION_HANDLE, signature: *mut c_uchar, signature_len: c_ulong ) -> CK_RV

source

pub unsafe fn C_VerifyRecoverInit( &self, session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, key: CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_VerifyRecover( &self, session: CK_SESSION_HANDLE, signature: *mut c_uchar, signature_len: c_ulong, data: *mut c_uchar, data_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_DigestEncryptUpdate( &self, session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong, encrypted_part: *mut c_uchar, encrypted_part_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_DecryptDigestUpdate( &self, session: CK_SESSION_HANDLE, encrypted_part: *mut c_uchar, encrypted_part_len: c_ulong, part: *mut c_uchar, part_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_SignEncryptUpdate( &self, session: CK_SESSION_HANDLE, part: *mut c_uchar, part_len: c_ulong, encrypted_part: *mut c_uchar, encrypted_part_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_DecryptVerifyUpdate( &self, session: CK_SESSION_HANDLE, encrypted_part: *mut c_uchar, encrypted_part_len: c_ulong, part: *mut c_uchar, part_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_GenerateKey( &self, session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, templ: *mut _CK_ATTRIBUTE, ulCount: c_ulong, key: *mut CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_GenerateKeyPair( &self, session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, public_key_template: *mut _CK_ATTRIBUTE, public_key_attribute_count: c_ulong, private_key_template: *mut _CK_ATTRIBUTE, private_key_attribute_count: c_ulong, public_key: *mut CK_OBJECT_HANDLE, private_key: *mut CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_WrapKey( &self, session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, wrapping_key: CK_OBJECT_HANDLE, key: CK_OBJECT_HANDLE, wrapped_key: *mut c_uchar, wrapped_key_len: *mut c_ulong ) -> CK_RV

source

pub unsafe fn C_UnwrapKey( &self, session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, unwrapping_key: CK_OBJECT_HANDLE, wrapped_key: *mut c_uchar, wrapped_key_len: c_ulong, templ: *mut _CK_ATTRIBUTE, attribute_count: c_ulong, key: *mut CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_DeriveKey( &self, session: CK_SESSION_HANDLE, mechanism: *mut _CK_MECHANISM, base_key: CK_OBJECT_HANDLE, templ: *mut _CK_ATTRIBUTE, attribute_count: c_ulong, key: *mut CK_OBJECT_HANDLE ) -> CK_RV

source

pub unsafe fn C_SeedRandom( &self, session: CK_SESSION_HANDLE, seed: *mut c_uchar, seed_len: c_ulong ) -> CK_RV

source

pub unsafe fn C_GenerateRandom( &self, session: CK_SESSION_HANDLE, random_data: *mut c_uchar, random_len: c_ulong ) -> CK_RV

source

pub unsafe fn C_GetFunctionStatus(&self, session: CK_SESSION_HANDLE) -> CK_RV

source

pub unsafe fn C_CancelFunction(&self, session: CK_SESSION_HANDLE) -> CK_RV

Auto Trait Implementations§

§

impl !RefUnwindSafe for Pkcs11

§

impl Send for Pkcs11

§

impl Sync for Pkcs11

§

impl Unpin for Pkcs11

§

impl !UnwindSafe for Pkcs11

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.