segmentation-fault - PKCS#11 API C_FindObjectsInit 上 CKO_SECRET_KEY AES 密钥段错误
问题描述
我正在使用 PKCS#11 使用 C_GenerateKey 创建一个 AES 256 位密钥。然后我使用 C_FindObjectsxxx 搜索密钥句柄并获取段错误。
这是代码
static int find_object(CK_SESSION_HANDLE sess, CK_OBJECT_CLASS cls, CK_OBJECT_HANDLE_PTR ret, const unsigned char *id, size_t id_len, int obj_index)
{
CK_ATTRIBUTE attrs[2];
unsigned int nattrs = 0;
CK_RV rv;
attrs[0].type = CKA_CLASS;
attrs[0].pValue = &cls;
attrs[0].ulValueLen = sizeof(cls);
nattrs++;
rv = pfunc11->C_FindObjectsInit(sess, attrs, nattrs); --> segfault
……
对 C_GenerateKey 的调用似乎成功,否则将不会调用此代码。
这是对上述代码的调用 -
CK_OBJECT_HANDLE key;
if (find_object(session, CKO_SECRET_KEY, &key, id, sizeof(id), 0))
{
printf("Key handle found\n");
}
解决方案
推荐阅读
- amazon-web-services - 通过 Terraform 验证 SSL 的问题
- cassandra - 使用 Stargate API 从 DSE 集群读取数据时出错
- api - 用于移动应用后端的 Asp.net Core API 端点结构
- javascript - 如何在 vuex 中使用全局路由器
- java-stream - java和Spring中何时使用parallelStream或Thread处理并行数据
- c++ - 在线 WaitForSingleObject() 访问冲突
- javascript - 错误:RenderComments(...) 渲染没有返回任何内容。这通常意味着缺少 return 语句。或者,不渲染任何内容,返回 null
- c++ - 通过 x 或 y 轴上的 2d 数组查找最便宜方式的成本
- akka - Akka Http 是否尊重 jvmproxy 设置?
- azure - 从 Azure SQL 数据库触发 Azure Functions