Top |
Functions
Properties
gpointer | app-data | Write / Construct Only |
gulong | handle | Read / Write / Construct Only |
GTlsInteraction * | interaction | Read / Write |
GckModule * | module | Read |
gulong | opening-flags | Write / Construct Only |
GckSessionOptions | options | Read / Write / Construct Only |
GckSlot * | slot | Read / Write / Construct Only |
Description
Before performing any PKCS11 operations, a session must be opened. This is analogous to an open database handle, or a file handle.
Functions
gck_session_from_handle ()
GckSession * gck_session_from_handle (GckSlot *slot
,gulong session_handle
,GckSessionOptions options
);
Initialize a GckSession object from a raw PKCS#11 session handle.
Usually one would use the gck_slot_open_session()
function to
create a session.
gck_session_open ()
GckSession * gck_session_open (GckSlot *slot
,GckSessionOptions options
,GTlsInteraction *interaction
,GCancellable *cancellable
,GError **error
);
Open a session on the slot. This call may block for an indefinite period.
gck_session_open_async ()
void gck_session_open_async (GckSlot *slot
,GckSessionOptions options
,GTlsInteraction *interaction
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Open a session on the slot. This call will return immediately and complete asynchronously.
gck_session_open_finish ()
GckSession * gck_session_open_finish (GAsyncResult *result
,GError **error
);
Get the result of an open session operation.
gck_session_get_module ()
GckModule *
gck_session_get_module (GckSession *self
);
Get the PKCS#11 module to which this session belongs.
gck_session_get_slot ()
GckSlot *
gck_session_get_slot (GckSession *self
);
Get the PKCS#11 slot to which this session belongs.
gck_session_get_handle ()
gulong
gck_session_get_handle (GckSession *self
);
Get the raw PKCS#11 session handle from a GckSession object.
gck_session_get_info ()
GckSessionInfo *
gck_session_get_info (GckSession *self
);
Get information about the session.
gck_session_get_interaction ()
GTlsInteraction *
gck_session_get_interaction (GckSession *self
);
Get the interaction object set on this session, which is used to prompt for pins and the like.
gck_session_login ()
gboolean gck_session_login (GckSession *self
,gulong user_type
,const guchar *pin
,gsize n_pin
,GCancellable *cancellable
,GError **error
);
Login the user on the session. This call may block for an indefinite period.
gck_session_login_async ()
void gck_session_login_async (GckSession *self
,gulong user_type
,const guchar *pin
,gsize n_pin
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Login the user on the session. This call will return immediately and completes asynchronously.
Parameters
self |
Log in to this session. |
|
user_type |
The type of login user. |
|
pin |
the user's PIN, or |
[allow-none][array length=n_pin] |
n_pin |
The length of the PIN. |
|
cancellable |
Optional cancellation object, or NULL. |
|
callback |
Called when the operation completes. |
|
user_data |
Data to pass to the callback. |
gck_session_login_finish ()
gboolean gck_session_login_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of a login operation.
gck_session_logout ()
gboolean gck_session_logout (GckSession *self
,GCancellable *cancellable
,GError **error
);
Log out of the session. This call may block for an indefinite period.
gck_session_logout_async ()
void gck_session_logout_async (GckSession *self
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Log out of the session. This call returns immediately and completes asynchronously.
gck_session_logout_finish ()
gboolean gck_session_logout_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of logging out of a session.
gck_session_create_object ()
GckObject * gck_session_create_object (GckSession *self
,GckAttributes *attrs
,GCancellable *cancellable
,GError **error
);
Create a new PKCS#11 object. This call may block for an indefinite period.
If the attrs
GckAttributes is floating, it is consumed.
gck_session_create_object_async ()
void gck_session_create_object_async (GckSession *self
,GckAttributes *attrs
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Create a new PKCS#11 object. This call will return immediately and complete asynchronously.
If the attrs
GckAttributes is floating, it is consumed.
gck_session_create_object_finish ()
GckObject * gck_session_create_object_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of creating a new PKCS#11 object.
gck_session_enumerate_objects ()
GckEnumerator * gck_session_enumerate_objects (GckSession *self
,GckAttributes *match
);
Setup an enumerator for listing matching objects available via this session.
If the match
GckAttributes is floating, it is consumed.
This call will not block but will return an enumerator immediately.
gck_session_find_handles ()
gulong * gck_session_find_handles (GckSession *self
,GckAttributes *match
,GCancellable *cancellable
,gulong *n_handles
,GError **error
);
Find the objects matching the passed attributes. This call may block for an indefinite period.
If the match
GckAttributes is floating, it is consumed.
gck_session_find_handles_async ()
void gck_session_find_handles_async (GckSession *self
,GckAttributes *match
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Find the objects matching the passed attributes. This call will return immediately and complete asynchronously.
If the match
GckAttributes is floating, it is consumed.
gck_session_find_handles_finish ()
gulong * gck_session_find_handles_finish (GckSession *self
,GAsyncResult *result
,gulong *n_handles
,GError **error
);
Get the result of a find handles operation.
gck_session_find_objects ()
GList * gck_session_find_objects (GckSession *self
,GckAttributes *match
,GCancellable *cancellable
,GError **error
);
Find the objects matching the passed attributes. This call may block for an indefinite period.
If the match
GckAttributes is floating, it is consumed.
gck_session_find_objects_async ()
void gck_session_find_objects_async (GckSession *self
,GckAttributes *match
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Find the objects matching the passed attributes. This call will return immediately and complete asynchronously.
If the match
GckAttributes is floating, it is consumed.
gck_session_find_objects_finish ()
GList * gck_session_find_objects_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of a find operation.
gck_session_encrypt ()
guchar * gck_session_encrypt (GckSession *self
,GckObject *key
,gulong mech_type
,const guchar *input
,gsize n_input
,gsize *n_result
,GCancellable *cancellable
,GError **error
);
Encrypt data in a mechanism specific manner. This call may block for an indefinite period.
Parameters
self |
The session. |
|
key |
The key to encrypt with. |
|
mech_type |
The mechanism type to use for encryption. |
|
input |
the data to encrypt. |
[array length=n_input] |
n_input |
the length of the data to encrypt |
|
n_result |
location to store the length of the result data |
|
cancellable |
Optional cancellation object, or |
|
error |
A location to place error information. |
gck_session_encrypt_full ()
guchar * gck_session_encrypt_full (GckSession *self
,GckObject *key
,GckMechanism *mechanism
,const guchar *input
,gsize n_input
,gsize *n_result
,GCancellable *cancellable
,GError **error
);
Encrypt data in a mechanism specific manner. This call may block for an indefinite period.
Parameters
self |
The session. |
|
key |
The key to encrypt with. |
|
mechanism |
The mechanism type and parameters to use for encryption. |
|
input |
the data to encrypt. |
[array length=n_input] |
n_input |
the length of the data to encrypt |
|
n_result |
location to store the length of the result data |
|
cancellable |
A GCancellable which can be used to cancel the operation. |
|
error |
A location to place error information. |
gck_session_encrypt_async ()
void gck_session_encrypt_async (GckSession *self
,GckObject *key
,GckMechanism *mechanism
,const guchar *input
,gsize n_input
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Encrypt data in a mechanism specific manner. This call will return immediately and complete asynchronously.
Parameters
self |
The session. |
|
key |
The key to encrypt with. |
|
mechanism |
The mechanism type and parameters to use for encryption. |
|
input |
the data to encrypt. |
[array length=n_input] |
n_input |
length of the data to encrypt |
|
cancellable |
A GCancellable which can be used to cancel the operation. |
|
callback |
Called when the operation completes. |
|
user_data |
A pointer to pass to the callback. |
gck_session_encrypt_finish ()
guchar * gck_session_encrypt_finish (GckSession *self
,GAsyncResult *result
,gsize *n_result
,GError **error
);
Get the result of an encryption operation.
gck_session_decrypt ()
guchar * gck_session_decrypt (GckSession *self
,GckObject *key
,gulong mech_type
,const guchar *input
,gsize n_input
,gsize *n_result
,GCancellable *cancellable
,GError **error
);
Decrypt data in a mechanism specific manner. This call may block for an indefinite period.
Parameters
self |
The session. |
|
key |
The key to decrypt with. |
|
mech_type |
The mechanism type to use for decryption. |
|
input |
data to decrypt. |
[array length=n_input] |
n_input |
length of the data to decrypt |
|
n_result |
location to store the length of the result data |
|
cancellable |
Optional cancellation object, or |
|
error |
A location to place an error. |
gck_session_decrypt_full ()
guchar * gck_session_decrypt_full (GckSession *self
,GckObject *key
,GckMechanism *mechanism
,const guchar *input
,gsize n_input
,gsize *n_result
,GCancellable *cancellable
,GError **error
);
Decrypt data in a mechanism specific manner. This call may block for an indefinite period.
Parameters
self |
The session. |
|
key |
The key to decrypt with. |
|
mechanism |
The mechanism type and parameters to use for decryption. |
|
input |
data to decrypt. |
[array length=n_input] |
n_input |
length of the data to decrypt |
|
n_result |
location to store the length of the result data |
|
cancellable |
A GCancellable which can be used to cancel the operation. |
|
error |
A location to place error information. |
gck_session_decrypt_async ()
void gck_session_decrypt_async (GckSession *self
,GckObject *key
,GckMechanism *mechanism
,const guchar *input
,gsize n_input
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Decrypt data in a mechanism specific manner. This call will return immediately and complete asynchronously.
Parameters
self |
The session. |
|
key |
The key to decrypt with. |
|
mechanism |
The mechanism type and parameters to use for decryption. |
|
input |
data to decrypt. |
[array length=n_input] |
n_input |
length of the data to decrypt |
|
cancellable |
A GCancellable which can be used to cancel the operation. |
|
callback |
Called when the operation completes. |
|
user_data |
A pointer to pass to the callback. |
gck_session_decrypt_finish ()
guchar * gck_session_decrypt_finish (GckSession *self
,GAsyncResult *result
,gsize *n_result
,GError **error
);
Get the result of an decryption operation.
gck_session_login_interactive ()
gboolean gck_session_login_interactive (GckSession *self
,gulong user_type
,GTlsInteraction *interaction
,GCancellable *cancellable
,GError **error
);
Login the user on the session requesting the password interactively when necessary. This call may block for an indefinite period.
gck_session_login_interactive_async ()
void gck_session_login_interactive_async (GckSession *self
,gulong user_type
,GTlsInteraction *interaction
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Login the user on the session prompting for passwords interactively when necessary. This call will return immediately and completes asynchronously.
gck_session_login_interactive_finish ()
gboolean gck_session_login_interactive_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of a login operation.
gck_session_set_interaction ()
void gck_session_set_interaction (GckSession *self
,GTlsInteraction *interaction
);
Set the interaction object on this session, which is used to prompt for pins and the like.
gck_session_sign ()
guchar * gck_session_sign (GckSession *self
,GckObject *key
,gulong mech_type
,const guchar *input
,gsize n_input
,gsize *n_result
,GCancellable *cancellable
,GError **error
);
Sign data in a mechanism specific manner. This call may block for an indefinite period.
Parameters
self |
The session. |
|
key |
The key to sign with. |
|
mech_type |
The mechanism type to use for signing. |
|
input |
data to sign. |
[array length=n_input] |
n_input |
length of the data to sign |
|
n_result |
location to store the length of the result data |
|
cancellable |
Optional cancellation object, or |
|
error |
A location to place an error. |
gck_session_sign_full ()
guchar * gck_session_sign_full (GckSession *self
,GckObject *key
,GckMechanism *mechanism
,const guchar *input
,gsize n_input
,gsize *n_result
,GCancellable *cancellable
,GError **error
);
Sign data in a mechanism specific manner. This call may block for an indefinite period.
Parameters
self |
The session. |
|
key |
The key to sign with. |
|
mechanism |
The mechanism type and parameters to use for signing. |
|
input |
data to sign. |
[array length=n_input] |
n_input |
length of the data to sign |
|
n_result |
location to store the length of the result data |
|
cancellable |
A GCancellable which can be used to cancel the operation. |
|
error |
A location to place error information. |
gck_session_sign_async ()
void gck_session_sign_async (GckSession *self
,GckObject *key
,GckMechanism *mechanism
,const guchar *input
,gsize n_input
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Sign data in a mechanism specific manner. This call will return immediately and complete asynchronously.
Parameters
self |
The session. |
|
key |
The key to sign with. |
|
mechanism |
The mechanism type and parameters to use for signing. |
|
input |
data to sign. |
[array length=n_input] |
n_input |
length of the data to sign |
|
cancellable |
A GCancellable which can be used to cancel the operation. |
|
callback |
Called when the operation completes. |
|
user_data |
A pointer to pass to the callback. |
gck_session_sign_finish ()
guchar * gck_session_sign_finish (GckSession *self
,GAsyncResult *result
,gsize *n_result
,GError **error
);
Get the result of an signing operation.
gck_session_verify ()
gboolean gck_session_verify (GckSession *self
,GckObject *key
,gulong mech_type
,const guchar *input
,gsize n_input
,const guchar *signature
,gsize n_signature
,GCancellable *cancellable
,GError **error
);
Verify data in a mechanism specific manner. This call may block for an indefinite period.
Parameters
self |
The session. |
|
key |
The key to verify with. |
|
mech_type |
The mechanism type to use for verifying. |
|
input |
data to verify. |
[array length=n_input] |
n_input |
length of the data to verify |
|
signature |
the signature. |
[array length=n_signature] |
n_signature |
length of the signature |
|
cancellable |
Optional cancellation object, or |
|
error |
A location to place an error. |
gck_session_verify_full ()
gboolean gck_session_verify_full (GckSession *self
,GckObject *key
,GckMechanism *mechanism
,const guchar *input
,gsize n_input
,const guchar *signature
,gsize n_signature
,GCancellable *cancellable
,GError **error
);
Verify data in a mechanism specific manner. This call may block for an indefinite period.
Parameters
self |
The session. |
|
key |
The key to verify with. |
|
mechanism |
The mechanism type and parameters to use for signing. |
|
input |
data to verify. |
[array length=n_input] |
n_input |
the length of the data to verify |
|
signature |
the signature. |
[array length=n_signature] |
n_signature |
length of the signature |
|
cancellable |
A GCancellable which can be used to cancel the operation. |
|
error |
A location to place an error. |
gck_session_verify_async ()
void gck_session_verify_async (GckSession *self
,GckObject *key
,GckMechanism *mechanism
,const guchar *input
,gsize n_input
,const guchar *signature
,gsize n_signature
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Verify data in a mechanism specific manner. This call returns immediately and completes asynchronously.
Parameters
self |
The session. |
|
key |
The key to verify with. |
|
mechanism |
The mechanism type and parameters to use for signing. |
|
input |
data to verify. |
[array length=n_input] |
n_input |
the length of the data to verify |
|
signature |
the signature. |
[array length=n_signature] |
n_signature |
the length of the signature |
|
cancellable |
A GCancellable which can be used to cancel the operation. |
|
callback |
Called when the operation completes. |
|
user_data |
A pointer to pass to the callback. |
gck_session_verify_finish ()
gboolean gck_session_verify_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of an verify operation.
gck_session_derive_key ()
GckObject * gck_session_derive_key (GckSession *self
,GckObject *base
,gulong mech_type
,GckAttributes *attrs
,GCancellable *cancellable
,GError **error
);
Derive a key from another key. This call may block for an indefinite period.
If the attrs
GckAttributes is floating, it is consumed.
gck_session_derive_key_async ()
void gck_session_derive_key_async (GckSession *self
,GckObject *base
,GckMechanism *mechanism
,GckAttributes *attrs
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Derive a key from another key. This call will return immediately and complete asynchronously.
If the attrs
GckAttributes is floating, it is consumed.
gck_session_derive_key_finish ()
GckObject * gck_session_derive_key_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of a derive key operation.
gck_session_derive_key_full ()
GckObject * gck_session_derive_key_full (GckSession *self
,GckObject *base
,GckMechanism *mechanism
,GckAttributes *attrs
,GCancellable *cancellable
,GError **error
);
Derive a key from another key. This call may block for an indefinite period.
If the attrs
GckAttributes is floating, it is consumed.
gck_session_generate_key_pair ()
gboolean gck_session_generate_key_pair (GckSession *self
,gulong mech_type
,GckAttributes *public_attrs
,GckAttributes *private_attrs
,GckObject **public_key
,GckObject **private_key
,GCancellable *cancellable
,GError **error
);
Generate a new key pair of public and private keys. This call may block for an indefinite period.
If the public_attrs
and/or private_attrs
GckAttributes is floating, it is
consumed.
Parameters
self |
The session to use. |
|
mech_type |
The mechanism type to use for key generation. |
|
public_attrs |
Additional attributes for the generated public key. |
|
private_attrs |
Additional attributes for the generated private key. |
|
public_key |
location to return the resulting public key. |
[allow-none][out] |
private_key |
location to return the resulting private key. |
[allow-none][out] |
cancellable |
Optional cancellation object, or NULL. |
|
error |
A location to return an error, or NULL. |
gck_session_generate_key_pair_async ()
void gck_session_generate_key_pair_async (GckSession *self
,GckMechanism *mechanism
,GckAttributes *public_attrs
,GckAttributes *private_attrs
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Generate a new key pair of public and private keys. This call will return immediately and complete asynchronously.
If the public_attrs
and/or private_attrs
GckAttributes is floating, it is
consumed.
Parameters
self |
The session to use. |
|
mechanism |
The mechanism to use for key generation. |
|
public_attrs |
Additional attributes for the generated public key. |
|
private_attrs |
Additional attributes for the generated private key. |
|
cancellable |
Optional cancellation object or NULL. |
|
callback |
Called when the operation completes. |
|
user_data |
Data to pass to the callback. |
gck_session_generate_key_pair_finish ()
gboolean gck_session_generate_key_pair_finish (GckSession *self
,GAsyncResult *result
,GckObject **public_key
,GckObject **private_key
,GError **error
);
Get the result of a generate key pair operation.
gck_session_generate_key_pair_full ()
gboolean gck_session_generate_key_pair_full (GckSession *self
,GckMechanism *mechanism
,GckAttributes *public_attrs
,GckAttributes *private_attrs
,GckObject **public_key
,GckObject **private_key
,GCancellable *cancellable
,GError **error
);
Generate a new key pair of public and private keys. This call may block for an indefinite period.
If the public_attrs
and/or private_attrs
GckAttributes is floating, it is
consumed.
Parameters
self |
The session to use. |
|
mechanism |
The mechanism to use for key generation. |
|
public_attrs |
Additional attributes for the generated public key. |
|
private_attrs |
Additional attributes for the generated private key. |
|
public_key |
a location to return the resulting public key. |
[allow-none][out] |
private_key |
a location to return the resulting private key. |
[allow-none][out] |
cancellable |
Optional cancellation object, or NULL. |
|
error |
A location to return an error, or NULL. |
gck_session_get_options ()
GckSessionOptions
gck_session_get_options (GckSession *self
);
Get the options this session was opened with.
gck_session_get_state ()
gulong
gck_session_get_state (GckSession *self
);
Get the session state. The state is the various PKCS#11 CKS_XXX flags.
gck_session_init_pin ()
gboolean gck_session_init_pin (GckSession *self
,const guchar *pin
,gsize n_pin
,GCancellable *cancellable
,GError **error
);
Initialize the user's pin on this slot that this session is opened on. According to the PKCS#11 standards, the session must be logged in with the CKU_SO user type.
This call may block for an indefinite period.
gck_session_init_pin_async ()
void gck_session_init_pin_async (GckSession *self
,const guchar *pin
,gsize n_pin
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Initialize the user's pin on this slot that this session is opened on. According to the PKCS#11 standards, the session must be logged in with the CKU_SO user type.
This call will return immediately and completes asynchronously.
Parameters
self |
Initialize PIN for this session's slot. |
|
pin |
the user's PIN, or |
[allow-none][array length=n_pin] |
n_pin |
the length of the PIN |
|
cancellable |
Optional cancellation object, or NULL. |
|
callback |
Called when the operation completes. |
|
user_data |
Data to pass to the callback. |
gck_session_init_pin_finish ()
gboolean gck_session_init_pin_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of initializing a user's PIN.
gck_session_set_pin ()
gboolean gck_session_set_pin (GckSession *self
,const guchar *old_pin
,gsize n_old_pin
,const guchar *new_pin
,gsize n_new_pin
,GCancellable *cancellable
,GError **error
);
Change the user's pin on this slot that this session is opened on.
This call may block for an indefinite period.
Parameters
self |
Change the PIN for this session's slot. |
|
old_pin |
the user's old PIN, or |
[allow-none][array length=n_old_pin] |
n_old_pin |
The length of the PIN. |
|
new_pin |
the user's new PIN, or |
[allow-none][array length=n_new_pin] |
n_new_pin |
The length of the PIN. |
|
cancellable |
Optional cancellation object, or NULL. |
|
error |
A location to return an error. |
gck_session_set_pin_async ()
void gck_session_set_pin_async (GckSession *self
,const guchar *old_pin
,gsize n_old_pin
,const guchar *new_pin
,gsize n_new_pin
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Change the user's pin on this slot that this session is opened on.
This call will return immediately and completes asynchronously.
Parameters
self |
Change the PIN for this session's slot. |
|
old_pin |
the user's old PIN, or |
[allow-none][array length=n_new_pin] |
n_old_pin |
the length of the old PIN |
|
new_pin |
the user's new PIN, or |
[allow-none][array length=n_new_pin] |
n_new_pin |
the length of the new PIN |
|
cancellable |
Optional cancellation object, or NULL. |
|
callback |
Called when the operation completes. |
|
user_data |
Data to pass to the callback. |
gck_session_set_pin_finish ()
gboolean gck_session_set_pin_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of changing a user's PIN.
gck_session_unwrap_key ()
GckObject * gck_session_unwrap_key (GckSession *self
,GckObject *wrapper
,gulong mech_type
,const guchar *input
,gsize n_input
,GckAttributes *attrs
,GCancellable *cancellable
,GError **error
);
Unwrap a key from a byte stream. This call may block for an indefinite period.
If the attrs
GckAttributes is floating, it is consumed.
Parameters
self |
The session to use. |
|
wrapper |
The key to use for unwrapping. |
|
mech_type |
The mechanism to use for unwrapping. |
|
input |
the wrapped data as a byte stream. |
[array length=n_input] |
n_input |
The length of the wrapped data. |
|
attrs |
Additional attributes for the unwrapped key. |
|
cancellable |
Optional cancellation object, or NULL. |
|
error |
A location to return an error, or NULL. |
gck_session_unwrap_key_async ()
void gck_session_unwrap_key_async (GckSession *self
,GckObject *wrapper
,GckMechanism *mechanism
,const guchar *input
,gsize n_input
,GckAttributes *attrs
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Unwrap a key from a byte stream. This call will return immediately and complete asynchronously.
If the attrs
GckAttributes is floating, it is consumed.
Parameters
self |
The session to use. |
|
wrapper |
The key to use for unwrapping. |
|
mechanism |
The mechanism to use for unwrapping. |
|
input |
the wrapped data as a byte stream. |
[array length=n_input] |
n_input |
The length of the wrapped data. |
|
attrs |
Additional attributes for the unwrapped key. |
|
cancellable |
Optional cancellation object or NULL. |
|
callback |
Called when the operation completes. |
|
user_data |
Data to pass to the callback. |
gck_session_unwrap_key_finish ()
GckObject * gck_session_unwrap_key_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of a unwrap key operation.
gck_session_unwrap_key_full ()
GckObject * gck_session_unwrap_key_full (GckSession *self
,GckObject *wrapper
,GckMechanism *mechanism
,const guchar *input
,gsize n_input
,GckAttributes *attrs
,GCancellable *cancellable
,GError **error
);
Unwrap a key from a byte stream. This call may block for an indefinite period.
If the attrs
GckAttributes is floating, it is consumed.
Parameters
self |
The session to use. |
|
wrapper |
The key to use for unwrapping. |
|
mechanism |
The mechanism to use for unwrapping. |
|
input |
the wrapped data as a byte stream. |
[array length=n_input] |
n_input |
The length of the wrapped data. |
|
attrs |
Additional attributes for the unwrapped key. |
|
cancellable |
Optional cancellation object, or NULL. |
|
error |
A location to return an error, or NULL. |
gck_session_wrap_key ()
guchar * gck_session_wrap_key (GckSession *self
,GckObject *wrapper
,gulong mech_type
,GckObject *wrapped
,gsize *n_result
,GCancellable *cancellable
,GError **error
);
Wrap a key into a byte stream. This call may block for an indefinite period.
gck_session_wrap_key_async ()
void gck_session_wrap_key_async (GckSession *self
,GckObject *wrapper
,GckMechanism *mechanism
,GckObject *wrapped
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Wrap a key into a byte stream. This call will return immediately and complete asynchronously.
gck_session_wrap_key_finish ()
guchar * gck_session_wrap_key_finish (GckSession *self
,GAsyncResult *result
,gsize *n_result
,GError **error
);
Get the result of a wrap key operation.
gck_session_wrap_key_full ()
guchar * gck_session_wrap_key_full (GckSession *self
,GckObject *wrapper
,GckMechanism *mechanism
,GckObject *wrapped
,gsize *n_result
,GCancellable *cancellable
,GError **error
);
Wrap a key into a byte stream. This call may block for an indefinite period.
Parameters
self |
The session to use. |
|
wrapper |
The key to use for wrapping. |
|
mechanism |
The mechanism to use for wrapping. |
|
wrapped |
The key to wrap. |
|
n_result |
A location in which to return the length of the wrapped data. |
|
cancellable |
Optional cancellation object, or NULL. |
|
error |
A location to return an error, or NULL. |
gck_session_info_copy ()
GckSessionInfo *
gck_session_info_copy (GckSessionInfo *session_info
);
Make a new copy of a session info structure.
gck_session_info_free ()
void
gck_session_info_free (GckSessionInfo *session_info
);
Free the GckSessionInfo structure and all associated memory.
Types and Values
struct GckSessionInfo
struct GckSessionInfo { gulong slot_id; gulong state; gulong flags; gulong device_error; };
Information about the session. This is analogous to a CK_SESSION_INFO structure.
When done with this structure, release it using gck_session_info_free()
.
Property Details
The “app-data”
property
“app-data” gpointer
Raw PKCS#11 application data used to open the PKCS#11 session.
Flags: Write / Construct Only
The “handle”
property
“handle” gulong
The raw CK_SESSION_HANDLE handle of this session.
Flags: Read / Write / Construct Only
The “interaction”
property
“interaction” GTlsInteraction *
Interaction object used to ask the user for pins when opening
sessions. Used if the session_options of the enumerator have
GCK_SESSION_LOGIN_USER
Flags: Read / Write
The “module”
property
“module” GckModule *
The GckModule that this session is opened on.
Flags: Read
The “opening-flags”
property
“opening-flags” gulong
Raw PKCS#11 flags used to open the PKCS#11 session.
Flags: Write / Construct Only
The “options”
property
“options” GckSessionOptions
The options this session was opened with.
Flags: Read / Write / Construct Only
The “slot”
property
“slot” GckSlot *
The GckSlot this session is opened on.
Flags: Read / Write / Construct Only
Signal Details
The “discard-handle”
signal
gboolean user_function (GckSession *session, gulong handle, gpointer user_data)
When a GckSession is being disposed of it emits this signal to allow a session pool to pick up the handle and keep it around.
If no signal handler claims the handle, then it is closed.
Parameters
session |
The session. |
|
handle |
The handle being discarded. |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last