CK_SESSION_INFO_PTR is a pointer to a CK_SESSION_INFO.
Cryptoki represents object information with the following types:
CK_OBJECT_HANDLE; CK_OBJECT_HANDLE_PTR
CK_OBJECT_HANDLE is a token-specific identifier for an object. It is defined as follows:
typedef CK_ULONG CK_OBJECT_HANDLE;
When an object is created or found on a token by an application, Cryptoki assigns it an object handle for that application’s sessions to use to access it. A particular object on a token does not necessarily have a handle which is fixed for the lifetime of the object; however, if a particular session can use a particular handle to access a particular object, then that session will continue to be able to use that handle to access that object as long as the session continues to exist, the object continues to exist, and the object continues to be accessible to the session.
Valid object handles in Cryptoki always have nonzero values. For developers’ convenience, Cryptoki defines the following symbolic value:
#define CK_INVALID_HANDLE 0
CK_OBJECT_HANDLE_PTR is a pointer to a CK_OBJECT_HANDLE.
CK_OBJECT_CLASS; CK_OBJECT_CLASS_PTR
CK_OBJECT_CLASS is a value that identifies the classes (or types) of objects that Cryptoki recognizes. It is defined as follows:
typedef CK_ULONG CK_OBJECT_CLASS;
For this version of Cryptoki, the following classes of objects are defined:
#define CKO_DATA 0x00000000
#define CKO_CERTIFICATE 0x00000001
#define CKO_PUBLIC_KEY 0x00000002
#define CKO_PRIVATE_KEY 0x00000003
#define CKO_SECRET_KEY 0x00000004
#define CKO_VENDOR_DEFINED 0x80000000
Object classes CKO_VENDOR_DEFINED and above are permanently reserved for token vendors. For interoperability, vendors should register their object classes through the PKCS process.
Share with your friends: