[Smartsign-users] problems with templates in public and private key generation
Status: Pre-Alpha
Brought to you by:
kefren
From: <mg...@ti...> - 2004-11-22 15:23:41
|
Dear all, I am trying to generate a public and private keys, but I dont get a= =20 label for the public key. =20 I use the following template for the public key. I use this shorter= =20 version: La que yo estoy probando, que es bastante mas reducida, deberia=20 funcionar, y es esta: =20 CK_ATTRIBUTE publicKeyTemplate[] =3D { {CKA_LABEL, (void *)nombre, strlen(nombre)}, {CKA_KEY_TYPE, &tipoClave, sizeof(tipoClave)}, {CKA_ENCRYPT, &tru, sizeof(tru)}, {CKA_VERIFY, &tru, sizeof(tru)}, {CKA_WRAP, &tru, sizeof(tru)}, {CKA_MODULUS_BITS, &modulusBits, sizeof(modulusBits)}, {CKA_PUBLIC_EXPONENT, publicExponent, sizeof (publicExponent)} }; =20 where the label is given by "nombre" as an argument. I use a gpkcs11= =20 template: =20 static CK_ATTRIBUTE=20 CK_I_rsa_public_key_template[CK_I_rsa_public_key_count] =3D{ {CKA_CLASS, &CK_I_public_key_class, sizeof(CK_I_public_key_class)}, {CKA_TOKEN, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_MODIFIABLE, &CK_Tcsc_false, sizeof(CK_Tcsc_false)}, {CKA_LABEL, CK_I_rsa_public_label, sizeof(CK_I_rsa_public_label)}, {CKA_KEY_TYPE, &CK_I_rsa_keyType, sizeof(CK_I_rsa_keyType)}, {CKA_DERIVE, &CK_Tcsc_false, sizeof(CK_Tcsc_false)}, {CKA_LOCAL, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_ENCRYPT, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_VERIFY, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_VERIFY_RECOVER, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_WRAP, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_EXTRACTABLE, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_MODULUS_BITS, &modulusBits, sizeof(modulusBits)}, {CKA_PUBLIC_EXPONENT, publicExponent, sizeof(publicExponent)},=20 }; This is the template for the private key : =20 CK_ATTRIBUTE privateKeyTemplate[] =3D { {CKA_TOKEN, &tru, sizeof(tru)}, {CKA_PRIVATE, &tru, sizeof(tru)}, {CKA_SUBJECT, (void *)nombre, sizeof(nombre)}, {CKA_ID, id, sizeof(id)}, {CKA_SENSITIVE, &tru, sizeof(tru)}, {CKA_DECRYPT, &tru, sizeof(tru)}, {CKA_SIGN, &tru, sizeof(tru)}, {CKA_UNWRAP, &tru, sizeof(tru)}, {CKA_LABEL, (void *)nombre, strlen(nombre)} }; Siendo la etiqueta el "nombre", tambi=E9n, como en la p=FAblica. =20 The template used is: =20 static CK_ATTRIBUTE=20 CK_I_rsa_private_key_template[CK_I_rsa_private_key_count] =3D{ {CKA_CLASS, &CK_I_private_key_class, sizeof(CK_I_private_key_class)= }, {CKA_TOKEN, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_PRIVATE, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_MODIFIABLE, &CK_Tcsc_false, sizeof(CK_Tcsc_false)}, {CKA_LABEL, CK_I_rsa_private_label, sizeof(CK_I_rsa_private_label)}= , {CKA_KEY_TYPE, &CK_I_rsa_keyType, sizeof(CK_I_rsa_keyType)}, {CKA_DERIVE, &CK_Tcsc_false, sizeof(CK_Tcsc_false)}, {CKA_LOCAL, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_SENSITIVE, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_DECRYPT, &CK_Tcsc_false, sizeof(CK_Tcsc_false)}, {CKA_SIGN, &CK_Tcsc_false, sizeof(CK_Tcsc_true)}, {CKA_SIGN_RECOVER, &CK_Tcsc_false, sizeof(CK_Tcsc_false)}, {CKA_UNWRAP, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_EXTRACTABLE, &CK_Tcsc_false, sizeof(CK_Tcsc_false)}, {CKA_ALWAYS_SENSITIVE, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, {CKA_NEVER_EXTRACTABLE, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, }; =20 These templates are passed to the function as arguments: rv =3D (*ckFunc->C_GenerateKeyPair )( hSession, &mechanism,=20 publicKeyTemplate, NumAttrPublico, privateKeyTemplate, NumAttrPrivado= ,=20 &hPublicKey, &hPrivateKey); We have tried even rename it, once created, and only the private key = is=20 renamed. We have also tried with the following option in the public key =20 {CKA_TOKEN, &CK_Tcsc_true, sizeof(CK_Tcsc_true)}, But two public keys are generated: one without the label and the othe= r=20 one outiside the public-private key pair... If further information is needed I could send the source code... Regards, Miguel --=20 =A4=BA=B0`=B0=BA=A4=F8,=B8=B8,=F8=A4=BA=B0`=B0=BA=A4=F8,=B8=B8,=F8= =A4=BA=B0`=B0=BA=A4=F8,=B8=B8,=F8=A4=BA=B0`=B0 Miguel Gonz=E1lez Casta=F1os Ingeniero de Entrada Telef=F3nica Investigaci=F3n y Desarrollo Parque Tecnol=F3gico Walqa=20 Edificio Uno Ctra. Zaragoza N-330a Km.556 22197 Cuarte Huesca Tel.: +34 913129876 Fax: +34 974215500 Correo-e: mg...@ti... Internet: http://www.tid.es =A4=BA=B0`=B0=BA=A4=F8,=B8=B8,=F8=A4=BA=B0`=B0=BA=A4=F8,=B8=B8,=F8= =A4=BA=B0`=B0=BA=A4=F8,=B8=B8,=F8=A4=BA=B0`=B0 |