我试图弄清楚如何将对称密钥导入NSS,以便在核心加密边界使用加密。描述了这些功能 https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Reference/NSS_cryptographic_module/FIPS_mode_of_operation 我已经能够通过遵循文档来执行所有其他类型的加密操作,因为它反映了此处描述的PKCS 11: http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/cos01/pkcs11-base-v2.40-cos01.html 但是试图导入任何模板CK_OBJECT_CLASS"是" CKO_SECRET_KEY"总是返回" CKR_ATTRIBUTE_VALUE_INVALID 0x00000013"。但我对assymetric(公共/私人)没有问题
CK_RV crv;
CK_FUNCTION_LIST_PTR pFunctionList;
CK_OBJECT_CLASS keyClass = CKO_SECRET_KEY;
CK_ATTRIBUTE keyTemplate[] = {
{CKA_CLASS, &keyClass, sizeof(keyClass)}
};
crv = pFunctionList->C_CreateObject(hRwSession, keyTemplate, 1, &hKey);
printf("failed with 0x%08X\n", crv);
但是根据文档,这应该返回" CKR_TEMPLATE_INCOMPLETE" as" CKO_SECRET_KEY"是一个有效的对象类。
我再次对assymetric没有任何麻烦。我还应该指出我的函数指针仅适用于FIPS模式。非常感谢任何见解!