[−][src]Struct pkcs11::Ctx
Methods
impl Ctx
[src]
pub fn new<P>(filename: P) -> Result<Ctx, Error> where
P: AsRef<Path>,
[src]
P: AsRef<Path>,
pub fn new_and_initialize<P>(filename: P) -> Result<Ctx, Error> where
P: AsRef<Path>,
[src]
P: AsRef<Path>,
pub fn is_initialized(&self) -> bool
[src]
pub fn initialize(
&mut self,
init_args: Option<CK_C_INITIALIZE_ARGS>
) -> Result<(), Error>
[src]
&mut self,
init_args: Option<CK_C_INITIALIZE_ARGS>
) -> Result<(), Error>
pub fn finalize(&mut self) -> Result<(), Error>
[src]
pub fn get_info(&self) -> Result<CK_INFO, Error>
[src]
pub fn get_function_list(&self) -> Result<CK_FUNCTION_LIST, Error>
[src]
pub fn get_slot_list(
&self,
token_present: bool
) -> Result<Vec<CK_SLOT_ID>, Error>
[src]
&self,
token_present: bool
) -> Result<Vec<CK_SLOT_ID>, Error>
pub fn get_slot_info(&self, slot_id: CK_SLOT_ID) -> Result<CK_SLOT_INFO, Error>
[src]
pub fn get_token_info(
&self,
slot_id: CK_SLOT_ID
) -> Result<CK_TOKEN_INFO, Error>
[src]
&self,
slot_id: CK_SLOT_ID
) -> Result<CK_TOKEN_INFO, Error>
pub fn get_mechanism_list(
&self,
slot_id: CK_SLOT_ID
) -> Result<Vec<CK_MECHANISM_TYPE>, Error>
[src]
&self,
slot_id: CK_SLOT_ID
) -> Result<Vec<CK_MECHANISM_TYPE>, Error>
pub fn get_mechanism_info(
&self,
slot_id: CK_SLOT_ID,
mechanism_type: CK_MECHANISM_TYPE
) -> Result<CK_MECHANISM_INFO, Error>
[src]
&self,
slot_id: CK_SLOT_ID,
mechanism_type: CK_MECHANISM_TYPE
) -> Result<CK_MECHANISM_INFO, Error>
pub fn init_token<'a, 'b>(
&self,
slot_id: CK_SLOT_ID,
pin: Option<&'a str>,
label: &'b str
) -> Result<(), Error>
[src]
&self,
slot_id: CK_SLOT_ID,
pin: Option<&'a str>,
label: &'b str
) -> Result<(), Error>
pub fn init_pin<'a>(
&self,
session: CK_SESSION_HANDLE,
pin: Option<&'a str>
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
pin: Option<&'a str>
) -> Result<(), Error>
pub fn set_pin<'a, 'b>(
&self,
session: CK_SESSION_HANDLE,
old_pin: Option<&'a str>,
new_pin: Option<&'b str>
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
old_pin: Option<&'a str>,
new_pin: Option<&'b str>
) -> Result<(), Error>
pub fn open_session(
&self,
slot_id: CK_SLOT_ID,
flags: CK_FLAGS,
application: Option<CK_VOID_PTR>,
notify: CK_NOTIFY
) -> Result<CK_SESSION_HANDLE, Error>
[src]
&self,
slot_id: CK_SLOT_ID,
flags: CK_FLAGS,
application: Option<CK_VOID_PTR>,
notify: CK_NOTIFY
) -> Result<CK_SESSION_HANDLE, Error>
pub fn close_session(&self, session: CK_SESSION_HANDLE) -> Result<(), Error>
[src]
pub fn close_all_sessions(&self, slot_id: CK_SLOT_ID) -> Result<(), Error>
[src]
pub fn get_session_info(
&self,
session: CK_SESSION_HANDLE
) -> Result<CK_SESSION_INFO, Error>
[src]
&self,
session: CK_SESSION_HANDLE
) -> Result<CK_SESSION_INFO, Error>
pub fn get_operation_state(
&self,
session: CK_SESSION_HANDLE
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE
) -> Result<Vec<CK_BYTE>, Error>
pub fn set_operation_state(
&self,
session: CK_SESSION_HANDLE,
operation_state: Vec<CK_BYTE>,
encryption_key: Option<CK_OBJECT_HANDLE>,
authentication_key: Option<CK_OBJECT_HANDLE>
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
operation_state: Vec<CK_BYTE>,
encryption_key: Option<CK_OBJECT_HANDLE>,
authentication_key: Option<CK_OBJECT_HANDLE>
) -> Result<(), Error>
pub fn login<'a>(
&self,
session: CK_SESSION_HANDLE,
user_type: CK_USER_TYPE,
pin: Option<&'a str>
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
user_type: CK_USER_TYPE,
pin: Option<&'a str>
) -> Result<(), Error>
pub fn login_with_raw(
&self,
session: CK_SESSION_HANDLE,
user_type: CK_USER_TYPE,
pin: Option<&[CK_BYTE]>
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
user_type: CK_USER_TYPE,
pin: Option<&[CK_BYTE]>
) -> Result<(), Error>
Some dongle drivers (such as Safenet) allow NUL bytes in PINs, and fail login if a NUL containing PIN is truncated. Combined with poor PIN gen algorithms which insert NULs into the PIN, you might need a way to supply raw bytes for a PIN, instead of converting from a UTF8 string as per spec
pub fn logout(&self, session: CK_SESSION_HANDLE) -> Result<(), Error>
[src]
pub fn create_object(
&self,
session: CK_SESSION_HANDLE,
template: &[CK_ATTRIBUTE]
) -> Result<CK_OBJECT_HANDLE, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
template: &[CK_ATTRIBUTE]
) -> Result<CK_OBJECT_HANDLE, Error>
pub fn copy_object(
&self,
session: CK_SESSION_HANDLE,
object: CK_OBJECT_HANDLE,
template: &[CK_ATTRIBUTE]
) -> Result<CK_OBJECT_HANDLE, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
object: CK_OBJECT_HANDLE,
template: &[CK_ATTRIBUTE]
) -> Result<CK_OBJECT_HANDLE, Error>
pub fn destroy_object(
&self,
session: CK_SESSION_HANDLE,
object: CK_OBJECT_HANDLE
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
object: CK_OBJECT_HANDLE
) -> Result<(), Error>
pub fn get_object_size(
&self,
session: CK_SESSION_HANDLE,
object: CK_OBJECT_HANDLE
) -> Result<CK_ULONG, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
object: CK_OBJECT_HANDLE
) -> Result<CK_ULONG, Error>
pub fn get_attribute_value<'a>(
&self,
session: CK_SESSION_HANDLE,
object: CK_OBJECT_HANDLE,
template: &'a mut Vec<CK_ATTRIBUTE>
) -> Result<(CK_RV, &'a Vec<CK_ATTRIBUTE>), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
object: CK_OBJECT_HANDLE,
template: &'a mut Vec<CK_ATTRIBUTE>
) -> Result<(CK_RV, &'a Vec<CK_ATTRIBUTE>), Error>
pub fn set_attribute_value(
&self,
session: CK_SESSION_HANDLE,
object: CK_OBJECT_HANDLE,
template: &[CK_ATTRIBUTE]
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
object: CK_OBJECT_HANDLE,
template: &[CK_ATTRIBUTE]
) -> Result<(), Error>
pub fn find_objects_init(
&self,
session: CK_SESSION_HANDLE,
template: &[CK_ATTRIBUTE]
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
template: &[CK_ATTRIBUTE]
) -> Result<(), Error>
pub fn find_objects(
&self,
session: CK_SESSION_HANDLE,
max_object_count: CK_ULONG
) -> Result<Vec<CK_OBJECT_HANDLE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
max_object_count: CK_ULONG
) -> Result<Vec<CK_OBJECT_HANDLE>, Error>
pub fn find_objects_final(
&self,
session: CK_SESSION_HANDLE
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE
) -> Result<(), Error>
pub fn encrypt_init(
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
pub fn encrypt(
&self,
session: CK_SESSION_HANDLE,
data: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
data: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
pub fn encrypt_update(
&self,
session: CK_SESSION_HANDLE,
part: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
part: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
pub fn encrypt_final(
&self,
session: CK_SESSION_HANDLE
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE
) -> Result<Vec<CK_BYTE>, Error>
pub fn decrypt_init(
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
pub fn decrypt(
&self,
session: CK_SESSION_HANDLE,
encryptedData: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
encryptedData: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
pub fn decrypt_update(
&self,
session: CK_SESSION_HANDLE,
encryptedPart: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
encryptedPart: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
pub fn decrypt_final(
&self,
session: CK_SESSION_HANDLE
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE
) -> Result<Vec<CK_BYTE>, Error>
pub fn digest_init(
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM
) -> Result<(), Error>
pub fn digest(
&self,
session: CK_SESSION_HANDLE,
data: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
data: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
pub fn digest_update(
&self,
session: CK_SESSION_HANDLE,
part: &[CK_BYTE]
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
part: &[CK_BYTE]
) -> Result<(), Error>
pub fn digest_key(
&self,
session: CK_SESSION_HANDLE,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
pub fn digest_final(
&self,
session: CK_SESSION_HANDLE
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE
) -> Result<Vec<CK_BYTE>, Error>
pub fn sign_init(
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
pub fn sign(
&self,
session: CK_SESSION_HANDLE,
data: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
data: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
pub fn sign_update(
&self,
session: CK_SESSION_HANDLE,
part: &[CK_BYTE]
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
part: &[CK_BYTE]
) -> Result<(), Error>
pub fn sign_final(
&self,
session: CK_SESSION_HANDLE
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE
) -> Result<Vec<CK_BYTE>, Error>
pub fn sign_recover_init(
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
pub fn sign_recover(
&self,
session: CK_SESSION_HANDLE,
data: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
data: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
pub fn verify_init(
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
pub fn verify(
&self,
session: CK_SESSION_HANDLE,
data: &[CK_BYTE],
signature: &[CK_BYTE]
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
data: &[CK_BYTE],
signature: &[CK_BYTE]
) -> Result<(), Error>
pub fn verify_update(
&self,
session: CK_SESSION_HANDLE,
part: &[CK_BYTE]
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
part: &[CK_BYTE]
) -> Result<(), Error>
pub fn verify_final(
&self,
session: CK_SESSION_HANDLE,
signature: &[CK_BYTE]
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
signature: &[CK_BYTE]
) -> Result<(), Error>
pub fn verify_recover_init(
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
key: CK_OBJECT_HANDLE
) -> Result<(), Error>
pub fn verify_recover(
&self,
session: CK_SESSION_HANDLE,
signature: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
signature: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
pub fn digest_encrypt_update(
&self,
session: CK_SESSION_HANDLE,
part: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
part: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
pub fn decrypt_digest_update(
&self,
session: CK_SESSION_HANDLE,
encryptedPart: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
encryptedPart: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
pub fn sign_encrypt_update(
&self,
session: CK_SESSION_HANDLE,
part: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
part: &[CK_BYTE]
) -> Result<Vec<CK_BYTE>, Error>
pub fn decrypt_verify_update(
&self,
session: CK_SESSION_HANDLE,
encryptedPart: Vec<CK_BYTE>
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
encryptedPart: Vec<CK_BYTE>
) -> Result<Vec<CK_BYTE>, Error>
pub fn generate_key(
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
template: &[CK_ATTRIBUTE]
) -> Result<CK_OBJECT_HANDLE, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
template: &[CK_ATTRIBUTE]
) -> Result<CK_OBJECT_HANDLE, Error>
pub fn generate_key_pair(
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
publicKeyTemplate: &[CK_ATTRIBUTE],
privateKeyTemplate: &[CK_ATTRIBUTE]
) -> Result<(CK_OBJECT_HANDLE, CK_OBJECT_HANDLE), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
publicKeyTemplate: &[CK_ATTRIBUTE],
privateKeyTemplate: &[CK_ATTRIBUTE]
) -> Result<(CK_OBJECT_HANDLE, CK_OBJECT_HANDLE), Error>
pub fn wrap_key(
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
wrappingKey: CK_OBJECT_HANDLE,
key: CK_OBJECT_HANDLE
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
wrappingKey: CK_OBJECT_HANDLE,
key: CK_OBJECT_HANDLE
) -> Result<Vec<CK_BYTE>, Error>
pub fn unwrap_key(
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
unwrappingKey: CK_OBJECT_HANDLE,
wrappedKey: &[CK_BYTE],
template: &[CK_ATTRIBUTE]
) -> Result<CK_OBJECT_HANDLE, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
unwrappingKey: CK_OBJECT_HANDLE,
wrappedKey: &[CK_BYTE],
template: &[CK_ATTRIBUTE]
) -> Result<CK_OBJECT_HANDLE, Error>
pub fn derive_key(
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
baseKey: CK_OBJECT_HANDLE,
template: &[CK_ATTRIBUTE]
) -> Result<CK_OBJECT_HANDLE, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
mechanism: &CK_MECHANISM,
baseKey: CK_OBJECT_HANDLE,
template: &[CK_ATTRIBUTE]
) -> Result<CK_OBJECT_HANDLE, Error>
pub fn seed_random(
&self,
session: CK_SESSION_HANDLE,
seed: &[CK_BYTE]
) -> Result<(), Error>
[src]
&self,
session: CK_SESSION_HANDLE,
seed: &[CK_BYTE]
) -> Result<(), Error>
pub fn generate_random(
&self,
session: CK_SESSION_HANDLE,
randomLength: CK_ULONG
) -> Result<Vec<CK_BYTE>, Error>
[src]
&self,
session: CK_SESSION_HANDLE,
randomLength: CK_ULONG
) -> Result<Vec<CK_BYTE>, Error>
pub fn get_function_status(
&self,
session: CK_SESSION_HANDLE
) -> Result<CK_RV, Error>
[src]
&self,
session: CK_SESSION_HANDLE
) -> Result<CK_RV, Error>
pub fn cancel_function(
&self,
session: CK_SESSION_HANDLE
) -> Result<CK_RV, Error>
[src]
&self,
session: CK_SESSION_HANDLE
) -> Result<CK_RV, Error>
pub fn wait_for_slot_event(
&self,
flags: CK_FLAGS
) -> Result<Option<CK_SLOT_ID>, Error>
[src]
&self,
flags: CK_FLAGS
) -> Result<Option<CK_SLOT_ID>, Error>
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Ctx
impl Send for Ctx
impl Sync for Ctx
impl Unpin for Ctx
impl UnwindSafe for Ctx
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,