corePKCS11
v3.2.0
PKCS #11 Cryptoki Library
|
|
Creates an object.
CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount,
CK_OBJECT_HANDLE_PTR phObject )
{
CK_OBJECT_CLASS xClass = 0;
if( ( NULL == pTemplate ) ||
( NULL == phObject ) )
{
LogError( (
"Failed to create object. Received a NULL template or "
"object pointer." ) );
xResult = CKR_ARGUMENTS_BAD;
}
if( xResult == CKR_OK )
{
}
if( xResult == CKR_OK )
{
LogInfo( (
"Creating a 0x%0lX type object.", (
unsigned long int ) xClass ) );
switch( xClass )
{
case CKO_CERTIFICATE:
break;
case CKO_PRIVATE_KEY:
break;
case CKO_PUBLIC_KEY:
break;
case CKO_SECRET_KEY:
break;
default:
xResult = CKR_ATTRIBUTE_VALUE_INVALID;
break;
}
}
return xResult;
}
- Parameters
-
[in] | hSession | Handle of a valid PKCS #11 session. |
[in] | pTemplate | List of attributes of the object to be created. |
[in] | ulCount | Number of attributes in pTemplate. |
[out] | phObject | Pointer to the location where the created object's handle will be placed. |
Object Type | Template Attributes |
Certificate | CKA_CLASS |
CKA_VALUE |
CKA_TOKEN |
CKA_LABEL |
CKA_CERTIFICATE_TYPE |
CKA_VALUE |
EC Private Key | CKA_CLASS |
CKA_KEY_TYPE |
CKA_TOKEN |
CKA_LABEL |
CKA_SIGN |
CKA_EC_PARAMS |
CKA_VALUE |
EC Public Key | CKA_CLASS |
CKA_KEY_TYPE |
CKA_TOKEN |
CKA_VERIFY |
CKA_LABEL |
CKA_EC_PARAMS |
CKA_EC_POINT |
RSA Private Key | CKA_CLASS |
CKA_KEY_TYPE |
CKA_TOKEN |
CKA_LABEL |
CKA_SIGN |
CKA_MODULUS |
CKA_PUBLIC_EXPONENT |
CKA_PRIME_1 |
CKA_PRIME_2 |
CKA_PRIVATE_EXPONENT |
CKA_EXPONENT_1 |
CKA_EXPONENT_2 |
CKA_COEFFICIENT |
- Returns
- CKR_OK if successful.
static CK_RV prvCreateCertificate(CK_ATTRIBUTE *pxTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR pxObject)
Helper function for parsing the templates of device certificates for C_CreateObject.
Definition: core_pkcs11_mbedtls.c:1982
#define LogInfo(message)
Macro that is called in the corePKCS11 library for logging "Info" level messages.
Definition: core_pkcs11_config_defaults.h:355
static CK_RV prvCreateSecretKey(CK_ATTRIBUTE *pxTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR pxObject)
Helper function for importing secret keys using template C_CreateObject.
Definition: core_pkcs11_mbedtls.c:2716
static CK_RV prvGetObjectClass(const CK_ATTRIBUTE *pxTemplate, CK_ULONG ulCount, CK_OBJECT_CLASS *pxClass)
Searches a template for the CKA_CLASS attribute.
Definition: core_pkcs11_mbedtls.c:470
static CK_RV prvCheckValidSessionAndModule(const P11Session_t *pxSession)
Helper to check if the current session is initialized and valid.
Definition: core_pkcs11_mbedtls.c:323
#define CK_DECLARE_FUNCTION(returnType, name)
Macro for defining a PKCS #11 functions.
Definition: core_pkcs11.h:75
static P11Session_t * prvSessionPointerFromHandle(CK_SESSION_HANDLE xSession)
Maps an opaque caller session handle into its internal state structure.
Definition: core_pkcs11_mbedtls.c:365
static CK_RV prvCreatePublicKey(CK_ATTRIBUTE *pxTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR pxObject)
Helper function for importing public keys using C_CreateObject.
Definition: core_pkcs11_mbedtls.c:2675
CK_RV C_CreateObject(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phObject)
Creates an object.
Definition: core_pkcs11_mbedtls.c:2798
Session structure.
Definition: core_pkcs11_mbedtls.c:286
static CK_RV prvCreatePrivateKey(CK_ATTRIBUTE *pxTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR pxObject)
Helper function for importing private keys using template C_CreateObject.
Definition: core_pkcs11_mbedtls.c:2626
#define LogError(message)
Macro that is called in the corePKCS11 library for logging "Error" level messages.
Definition: core_pkcs11_config_defaults.h:315