Class

GckSession

Description [src]

class Gck.Session : GObject.Object {
  parent: GObject
}

Represents an open PKCS11 session.

Before performing any PKCS11 operations, a session must be opened. This is analogous to an open database handle, or a file handle.

Ancestors

Functions

gck_session_from_handle

Initialize a session 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

Open a session on the slot. This call may block for an indefinite period.

gck_session_open_async

Open a session on the slot. This call will return immediately and complete asynchronously.

gck_session_open_finish

Get the result of an open session operation.

Instance methods

gck_session_create_object

Create a new PKCS#11 object. This call may block for an indefinite period.

gck_session_create_object_async

Create a new PKCS#11 object. This call will return immediately and complete asynchronously.

gck_session_create_object_finish

Get the result of creating a new PKCS#11 object.

gck_session_decrypt

Decrypt data in a mechanism specific manner. This call may block for an indefinite period.

gck_session_decrypt_async

Decrypt data in a mechanism specific manner. This call will return immediately and complete asynchronously.

gck_session_decrypt_finish

Get the result of an decryption operation.

gck_session_decrypt_full

Decrypt data in a mechanism specific manner. This call may block for an indefinite period.

gck_session_derive_key

Derive a key from another key. This call may block for an indefinite period.

gck_session_derive_key_async

Derive a key from another key. This call will return immediately and complete asynchronously.

gck_session_derive_key_finish

Get the result of a derive key operation.

gck_session_derive_key_full

Derive a key from another key. This call may block for an indefinite period.

gck_session_encrypt

Encrypt data in a mechanism specific manner. This call may block for an indefinite period.

gck_session_encrypt_async

Encrypt data in a mechanism specific manner. This call will return immediately and complete asynchronously.

gck_session_encrypt_finish

Get the result of an encryption operation.

gck_session_encrypt_full

Encrypt data in a mechanism specific manner. This call may block for an indefinite period.

gck_session_enumerate_objects

Setup an enumerator for listing matching objects available via this session.

gck_session_find_handles

Find the objects matching the passed attributes. This call may block for an indefinite period.

gck_session_find_handles_async

Find the objects matching the passed attributes. This call will return immediately and complete asynchronously.

gck_session_find_handles_finish

Get the result of a find handles operation.

gck_session_find_objects

Find the objects matching the passed attributes. This call may block for an indefinite period.

gck_session_find_objects_async

Find the objects matching the passed attributes. This call will return immediately and complete asynchronously.

gck_session_find_objects_finish

Get the result of a find operation.

gck_session_generate_key_pair

Generate a new key pair of public and private keys. This call may block for an indefinite period.

gck_session_generate_key_pair_async

Generate a new key pair of public and private keys. This call will return immediately and complete asynchronously.

gck_session_generate_key_pair_finish

Get the result of a generate key pair operation.

gck_session_generate_key_pair_full

Generate a new key pair of public and private keys. This call may block for an indefinite period.

gck_session_get_handle

Get the raw PKCS#11 session handle from a session object.

gck_session_get_info

Get information about the session.

gck_session_get_interaction

Get the interaction object set on this session, which is used to prompt for pins and the like.

gck_session_get_module

Get the PKCS#11 module to which this session belongs.

gck_session_get_options

Get the options this session was opened with.

gck_session_get_slot

Get the PKCS#11 slot to which this session belongs.

gck_session_get_state

Get the session state. The state is the various PKCS#11 CKS_XXX flags.

gck_session_init_pin

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.

gck_session_init_pin_async

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.

gck_session_init_pin_finish

Get the result of initializing a user’s PIN.

gck_session_login

Login the user on the session. This call may block for an indefinite period.

gck_session_login_async

Login the user on the session. This call will return immediately and completes asynchronously.

gck_session_login_finish

Get the result of a login operation.

gck_session_login_interactive

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

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

Get the result of a login operation.

gck_session_logout

Log out of the session. This call may block for an indefinite period.

gck_session_logout_async

Log out of the session. This call returns immediately and completes asynchronously.

gck_session_logout_finish

Get the result of logging out of a session.

gck_session_set_interaction

Set the interaction object on this session, which is used to prompt for pins and the like.

gck_session_set_pin

Change the user’s pin on this slot that this session is opened on.

gck_session_set_pin_async

Change the user’s pin on this slot that this session is opened on.

gck_session_set_pin_finish

Get the result of changing a user’s PIN.

gck_session_sign

Sign data in a mechanism specific manner. This call may block for an indefinite period.

gck_session_sign_async

Sign data in a mechanism specific manner. This call will return immediately and complete asynchronously.

gck_session_sign_finish

Get the result of an signing operation.

gck_session_sign_full

Sign data in a mechanism specific manner. This call may block for an indefinite period.

gck_session_unwrap_key

Unwrap a key from a byte stream. This call may block for an indefinite period.

gck_session_unwrap_key_async

Unwrap a key from a byte stream. This call will return immediately and complete asynchronously.

gck_session_unwrap_key_finish

Get the result of a unwrap key operation.

gck_session_unwrap_key_full

Unwrap a key from a byte stream. This call may block for an indefinite period.

gck_session_verify

Verify data in a mechanism specific manner. This call may block for an indefinite period.

gck_session_verify_async

Verify data in a mechanism specific manner. This call returns immediately and completes asynchronously.

gck_session_verify_finish

Get the result of an verify operation.

gck_session_verify_full

Verify data in a mechanism specific manner. This call may block for an indefinite period.

gck_session_wrap_key

Wrap a key into a byte stream. This call may block for an indefinite period.

gck_session_wrap_key_async

Wrap a key into a byte stream. This call will return immediately and complete asynchronously.

gck_session_wrap_key_finish

Get the result of a wrap key operation.

gck_session_wrap_key_full

Wrap a key into a byte stream. This call may block for an indefinite period.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Methods inherited from GAsyncInitable (3)
g_async_initable_init_async

Starts asynchronous initialization of the object implementing the interface. This must be done before any real use of the object after initial construction. If the object also implements GInitable you can optionally call g_initable_init() instead.

Available since: 2.22

g_async_initable_init_finish

Finishes asynchronous initialization and returns the result. See g_async_initable_init_async().

Available since: 2.22

g_async_initable_new_finish

Finishes the async construction for the various g_async_initable_new calls, returning the created object or NULL on error.

Available since: 2.22

Methods inherited from GInitable (1)
g_initable_init

Initializes the object implementing the interface.

Available since: 2.22

Properties

Gck.Session:app-data

Raw PKCS#11 application data used to open the PKCS#11 session.

Gck.Session:handle

The raw CK_SESSION_HANDLE handle of this session.

Gck.Session:interaction

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.

Gck.Session:module

The GckModule that this session is opened on.

Gck.Session:opening-flags

Raw PKCS#11 flags used to open the PKCS#11 session.

Gck.Session:options

The options this session was opened with.

Gck.Session:slot

The GckSlot this session is opened on.

Signals

Gck.Session::discard-handle

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.

Signals inherited from GObject (1)
GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct GckSessionClass {
  GObjectClass parent;
  gboolean (* discard_handle) (
    GckSession* session,
    CK_SESSION_HANDLE handle
  );
  
}
Class members
parent
GObjectClass
  No description available.
discard_handle
gboolean (* discard_handle) (
    GckSession* session,
    CK_SESSION_HANDLE handle
  )
  No description available.

Virtual methods

Gck.SessionClass.discard_handle
No description available.