在我的C程序中,我生成公钥/私钥对与功能C_GenerateKeyPair
并用敏感(秘密)密钥C_GenerateKey
。 其目的是包装用公钥密钥,但是当我调用该函数C_WrapKey
,我得到的错误CKR_KEY_TYPE_INCONSISTENT。 代码如果我使用带属性的总结和加密设置另一个包装密钥运行。 用于公钥模板是PKCS#11文件中提出的一个:
CK_SESSION_HANDLE hSession;
CK_OBJECT_HANDLE hPublicKey, hPrivateKey;
CK_MECHANISM mechanism = {
CKM_RSA_PKCS_KEY_PAIR_GEN, NULL_PTR, 0
};
CK_ULONG modulusBits = 768;
CK_BYTE publicExponent[] = { 3 };
CK_BYTE id[] = {123};
CK_BBOOL true = CK_TRUE;
CK_ATTRIBUTE publicKeyTemplate[] = {
{CKA_ENCRYPT, &true, sizeof(true)},
{CKA_VERIFY, &true, sizeof(true)},
{CKA_WRAP, &true, sizeof(true)},
{CKA_MODULUS_BITS, &modulusBits, sizeof(modulusBits)},
{CKA_PUBLIC_EXPONENT, publicExponent, sizeof(publicExponent)}
};
在总结和加密属性是否正确指定,而被包裹密钥我添加的属性CKA_EXTRACTABLE。 在此先感谢您的帮助。