Hi,
I have studied on CKM_AES_KEY_GEN in pkcs11_softtoken.so recently.
But there occurs a problem which prompt no reference of C_GenerateKey.
Codes are attached as follows.
Is there any one who can help me? could you please send me an example how to
use CKM_AES_KEY_GEN properly?
Thanks a lot!
----------------------------------------------------------------------
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/types.h>
#include <security/cryptoki.h>
#include <security/pkcs11.h>
int makeKey(CK_SESSION_HANDLE a_hSession)
{
int rc = -1;
// Generate a 128-bit AES key
CK_RV rv;
CK_BBOOL bTrue = TRUE;
CK_BBOOL bFalse = FALSE;
CK_OBJECT_CLASS tKeyClass = CKO_SECRET_KEY;
CK_KEY_TYPE tKeyType = CKK_AES;
CK_ULONG ulKeyLen = 16;
CK_MECHANISM tMechanism =
{ CKM_AES_KEY_GEN, NULL, 0 };
CK_ATTRIBUTE tAttr[] =
{
{ CKA_CLASS, &tKeyClass, sizeof(tKeyClass ) },
{ CKA_TOKEN, &bTrue, sizeof(bTrue ) },
{ CKA_PRIVATE, &bTrue, sizeof(bTrue ) },
{ CKA_MODIFIABLE, &bFalse, sizeof(bFalse ) },
{ CKA_KEY_TYPE, &tKeyType, sizeof(tKeyType ) },
{ CKA_ENCRYPT, &bTrue, sizeof(bTrue ) },
{ CKA_VALUE_LEN, &ulKeyLen, sizeof(ulKeyLen ) },
};
CK_ULONG ulAttrCount = sizeof( tAttr ) / sizeof( CK_ATTRIBUTE );
CK_OBJECT_HANDLE hObject;
// Generate the key on the token
rv = C_GenerateKey( a_hSession, &tMechanism, tAttr, ulAttrCount,
&hObject );
if ( rv != CKR_OK )
goto out;
rc = 0;
out:
return rc;
}
-------------------------------------------------------------------
This message posted from opensolaris.org
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code