不支持 Keyutils pkey_verify 操作

问题描述

开发人员。我在使用 keyutils 进行签名验证时遇到问题。

我的 /proc/keys 文件包含这样的行:

15dca90d I------     1 perm 1f010000     0     0 asymmetri my-test-key:

此密钥包含在 .ima 命名的密钥环中。 在我的 C 代码中,我找到了这个密钥并获取了他的密钥序列值(例如 103019094)。

假设我有一个用这个密钥签名的文件

  1. 我读取了位于扩展属性中的文件签名并获取了她 长度(sig,sig_len)
  2. 我正在使用 OpenSSL (digest,len)
  3. 计算文件摘要
  4. 调用函数keyctl_pkey_verify(103019094,"hash=sha256 enc=pkcs1",digest,len,sig,sig_len)
  5. 并得到错误Operation not supported,errno = 95

我尝试将进程的 uidgid 设置为密钥所有者 uid,gid (0,0),但这并不能解决问题。

我正在尝试使用 keyctl_setperm(103019094,KEY_USR_SEARCH) 获得 SEARCH 权限,但它也无法修复。

谁能告诉我我做错了什么,以及为什么会出现 Operation not supported 错误

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)