Top | ![]() |
![]() |
![]() |
![]() |
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 |
Before performing any PKCS11 operations, a session must be opened. This is analogous to an open database handle, or a file 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.
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.
slot |
the slot to open session on |
|
options |
session options |
|
interaction |
optional interaction for logins or object authentication. |
[allow-none] |
cancellable |
optional cancellation object |
|
error |
location to place error or |
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.
GckSession * gck_session_open_finish (GAsyncResult *result
,GError **error
);
Get the result of an open session operation.
GckModule *
gck_session_get_module (GckSession *self
);
Get the PKCS#11 module to which this session belongs.
GckSlot *
gck_session_get_slot (GckSession *self
);
Get the PKCS#11 slot to which this session belongs.
gulong
gck_session_get_handle (GckSession *self
);
Get the raw PKCS#11 session handle from a GckSession object.
GckSessionInfo *
gck_session_get_info (GckSession *self
);
Get information about the session.
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.
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.
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. |
|
error |
A location to return an error. |
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.
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. |
gboolean gck_session_login_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of a login operation.
gboolean gck_session_logout (GckSession *self
,GCancellable *cancellable
,GError **error
);
Log out of the session. This call may block for an indefinite period.
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.
gboolean gck_session_logout_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of logging out of a session.
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.
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.
GckObject * gck_session_create_object_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of creating a new PKCS#11 object.
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.
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.
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.
self |
the session to find objects on |
|
match |
the attributes to match against the objects |
|
cancellable |
optional cancellation object or |
|
callback |
called when the operation completes |
|
user_data |
data to pass to the callback |
gulong * gck_session_find_handles_finish (GckSession *self
,GAsyncResult *result
,gulong *n_handles
,GError **error
);
Get the result of a find handles operation.
self |
the session |
|
result |
the asynchronous result |
|
n_handles |
location to store number of handles returned |
|
error |
a location to return an error on failure |
an array of
handles that matched, which may be empty, or NULL
on failure.
[transfer full][array length=n_handles][allow-none]
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.
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.
GList * gck_session_find_objects_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of a find operation.
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.
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. |
the data that was encrypted,
or NULL
if an error occured.
[transfer full][array length=n_result]
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.
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. |
the data that was encrypted,
or NULL
if an error occured.
[transfer full][array length=n_result]
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.
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. |
guchar * gck_session_encrypt_finish (GckSession *self
,GAsyncResult *result
,gsize *n_result
,GError **error
);
Get the result of an encryption operation.
self |
The session. |
|
result |
The result object passed to the callback. |
|
n_result |
A location to store the length of the result data. |
|
error |
A location to place error information. |
the data that was encrypted,
or NULL
if an error occurred.
[transfer full][array length=n_result]
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.
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. |
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.
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. |
the data that was decrypted,
or NULL
if an error occured.
[transfer full][array length=n_result]
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.
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. |
guchar * gck_session_decrypt_finish (GckSession *self
,GAsyncResult *result
,gsize *n_result
,GError **error
);
Get the result of an decryption operation.
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.
self |
session to use for login |
|
user_type |
the type of login user |
|
interaction |
interaction to request PIN when necessary. |
[allow-none] |
cancellable |
optional cancellation object, or |
|
error |
location to return an error |
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.
self |
session to use for login |
|
user_type |
the type of login user |
|
interaction |
interaction to request PIN when necessary. |
[allow-none] |
cancellable |
optional cancellation object, or |
|
callback |
called when the operation completes |
|
user_data |
data to pass to the callback |
gboolean gck_session_login_interactive_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of a login operation.
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.
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.
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. |
the data that was signed,
or NULL
if an error occured.
[transfer full][array length=n_result]
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.
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. |
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.
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. |
guchar * gck_session_sign_finish (GckSession *self
,GAsyncResult *result
,gsize *n_result
,GError **error
);
Get the result of an signing operation.
self |
The session. |
|
result |
The result object passed to the callback. |
|
n_result |
A location to store the length of the result data. |
|
error |
A location to place error information. |
the data that was signed,
or NULL
if an error occurred.
[transfer full][array length=n_result]
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.
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. |
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.
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. |
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.
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. |
gboolean gck_session_verify_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of an verify operation.
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.
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.
GckObject * gck_session_derive_key_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of a derive key operation.
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.
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.
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. |
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.
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. |
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.
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.
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. |
GckSessionOptions
gck_session_get_options (GckSession *self
);
Get the options this session was opened with.
gulong
gck_session_get_state (GckSession *self
);
Get the session state. The state is the various PKCS#11 CKS_XXX flags.
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.
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. |
|
error |
A location to return an error. |
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.
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. |
gboolean gck_session_init_pin_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of initializing a user's 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.
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. |
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.
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. |
gboolean gck_session_set_pin_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of changing a user's PIN.
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.
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. |
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.
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. |
GckObject * gck_session_unwrap_key_finish (GckSession *self
,GAsyncResult *result
,GError **error
);
Get the result of a unwrap key operation.
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.
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. |
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.
self |
The session to use. |
|
wrapper |
The key to use for wrapping. |
|
mech_type |
The mechanism type to use for wrapping. |
|
wrapped |
The key to wrap. |
|
n_result |
A location in which to return the length of the wrapped data. |
|
cancellable |
A GCancellable or |
|
error |
A location to return an error, or NULL. |
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.
guchar * gck_session_wrap_key_finish (GckSession *self
,GAsyncResult *result
,gsize *n_result
,GError **error
);
Get the result of a wrap key operation.
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.
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. |
GckSessionInfo *
gck_session_info_copy (GckSessionInfo *session_info
);
Make a new copy of a session info structure.
void
gck_session_info_free (GckSessionInfo *session_info
);
Free the GckSessionInfo structure and all associated memory.
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()
.
struct GckMechanism { gulong type; gconstpointer parameter; gulong n_parameter; };
Represents a mechanism used with crypto operations.
gulong |
The mechanism type |
|
gconstpointer |
Mechanism specific data. |
|
gulong |
Length of mechanism specific data. |
“app-data”
property“app-data” gpointer
Raw PKCS#11 application data used to open the PKCS#11 session.
Flags: Write / Construct Only
“handle”
property“handle” gulong
The raw CK_SESSION_HANDLE handle of this session.
Flags: Read / Write / Construct Only
“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
“module”
property“module” GckModule *
The GckModule that this session is opened on.
Flags: Read
“opening-flags”
property“opening-flags” gulong
Raw PKCS#11 flags used to open the PKCS#11 session.
Flags: Write / Construct Only
“options”
property“options” GckSessionOptions
The options this session was opened with.
Flags: Read / Write / Construct Only
“slot”
property“slot” GckSlot *
The GckSlot this session is opened on.
Flags: Read / Write / Construct Only
“discard-handle”
signalgboolean 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.
session |
The session. |
|
handle |
The handle being discarded. |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last