Skip to content

C_GenerateKey() gives error CKR_TEMPLATE_INCOMPLETE on Windows #411

@ramesh23gupta

Description

@ramesh23gupta

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions