Object management functions

These functions perform as described in the PKCS #11 specification:

C_CreateObject

Function Supported in Security World Performs as in PKCS #11 spec PKCS #11 spec version

C_CreateObject

tbc

Without modifications

2.40

CKK_NC_MILENAGERC

The MILENAGE mechanisms support providing a custom set of values for constants c1-c5 and r1-r5 as defined by ETSI TS 135 206 s4.1. A CKK_NC_MILENAGERC object must be created to store these custom values.

The key template passed to C_CreateObject in this case is a standard one for secret keys with either of the two following ways of providing the c and r values as attributes:

CK_BYTE cr_values[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* c1 */
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* c2 */
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* c3 */
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* c4 */
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* c5 */
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00 /* r1, r2, r3, r4, r5 */
}

CK_ATTRIBUTE rc_template1[] = {
  /* default secret key attributes */
  {CKA_VALUE, &cr_values, sizeof(cr_values)}
}
CK_BYTE c1[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}

CK_BYTE c2[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}

CK_BYTE c3[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}

CK_BYTE c4[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}

CK_BYTE c5[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}

CK_BYTE r1 = 0, r2 = 0, r3 = 0, r4 = 0, r5 = 0;

CK_ATTRIBUTE rc_template2[] = {
  /* default secret key attributes */
  {CKA_NC_MILENAGE_C1, &c1, sizeof(c1)},
  {CKA_NC_MILENAGE_C2, &c2, sizeof(c2)},
  {CKA_NC_MILENAGE_C3, &c3, sizeof(c3)},
  {CKA_NC_MILENAGE_C4, &c4, sizeof(c4)},
  {CKA_NC_MILENAGE_C5, &c5, sizeof(c5)},
  {CKA_NC_MILENAGE_R1, &r1, sizeof(r1)},
  {CKA_NC_MILENAGE_R2, &r2, sizeof(r2)},
  {CKA_NC_MILENAGE_R3, &r3, sizeof(r3)},
  {CKA_NC_MILENAGE_R4, &r4, sizeof(r4)},
  {CKA_NC_MILENAGE_R5, &r5, sizeof(r5)},
}

C_CopyObject

Function Supported in Security World Performs as in PKCS #11 spec PKCS #11 spec version

C_CopyObject

tbc

Without modifications

2.40

C_DestroyObject

Function Supported in Security World Performs as in PKCS #11 spec PKCS #11 spec version

C_DestroyObject

tbc

Without modifications

2.40

C_GetObjectSize

Function Supported in Security World Performs as in PKCS #11 spec PKCS #11 spec version

C_GetObjectSize

tbc

Without modifications

2.40

C_GetAttributeValue

Function Supported in Security World Performs as in PKCS #11 spec PKCS #11 spec version

C_GetAttributeValue

tbc

Without modifications

2.40

C_SetAttributeValue

Function Supported in Security World Performs as in PKCS #11 spec PKCS #11 spec version

C_SetAttributeValue

tbc

Without modifications

2.40

C_FindObjectsInit

Function Supported in Security World Performs as in PKCS #11 spec PKCS #11 spec version

C_FindObjectsInit

tbc

Without modifications

2.40

C_FindObjects

Function Supported in Security World Performs as in PKCS #11 spec PKCS #11 spec version

C_FindObjects

tbc

Without modifications

2.40

C_FindObjectsFinal

Function Supported in Security World Performs as in PKCS #11 spec PKCS #11 spec version

C_FindObjectsFinal

tbc

Without modifications

2.40