-
Notifications
You must be signed in to change notification settings - Fork 387
Description
I get error CKR_TEMPLATE_INCOMPLETE while calling function C_GenerateKey() on Windows platform.
However, same code works on Linux platform (even with few attributes than mentioned below).
Below are my usage details.
CK_MECHANISM mechanism = { CKM_AES_KEY_GEN, NULL_PTR, 0 };
CK_OBJECT_CLASS class = CKO_SECRET_KEY;
CK_KEY_TYPE keytype = CKK_AES;
CK_BBOOL truevalue = CK_TRUE;
CK_BBOOL falsevalue = CK_FALSE;
CK_ULONG value_len = 32; /* key size in bytes *
char uuid_str[] = "ef76bf84e16c5240d6aeac4b2fc94346";
CK_ATTRIBUTE aes_template[] = {
{CKA_CLASS, &class, sizeof(class)},
{CKA_TOKEN, &truevalue, sizeof(truevalue)},
{CKA_PRIVATE, &truevalue, sizeof(truevalue)},
{CKA_LOCAL, &truevalue, sizeof(truevalue)},
{CKA_MODIFIABLE,&falsevalue, sizeof(falsevalue)},
{CKA_LABEL, label, sizeof(label)-1},
{CKA_KEY_TYPE, &keytype, sizeof (keytype) },
{CKA_ID, uuid_str, sizeof(uuid_str)-1},
{CKA_SENSITIVE, &truevalue, sizeof(truevalue)},
{CKA_ENCRYPT, &truevalue, sizeof (truevalue) },
{CKA_DECRYPT, &truevalue, sizeof (truevalue) },
{CKA_SIGN, &falsevalue, sizeof(falsevalue)},
{CKA_VERIFY, &falsevalue, sizeof(falsevalue)},
{CKA_EXTRACTABLE, &falsevalue, sizeof(falsevalue)},
{CKA_VALUE_LEN, &value_len, sizeof(value_len)},
{CKA_WRAP, &truevalue, sizeof(truevalue)},
{CKA_UNWRAP, &truevalue, sizeof(truevalue)}
};
C_GenerateKey(*session, &mechanism, aes_template, sizeof(aes_template)/sizeof(CK_ATTRIBUTE), &hkey);
I have got the SoftHSM installer from https://github.com/disig/SoftHSM2-for-Windows
Can some one tell me which attribute is missing in my template?
Thanks.