【发布时间】:2011-11-09 07:24:38
【问题描述】:
我一直在尝试在linux内核中使用crypto api,我需要做的是sha一个正在打开的文件。我正在使用 LSM 来捕获那些打开的文件。
到目前为止,我所拥有的是使用 struct crypto_shash 创建一个
struct crypto_shash *tfm;
struct shash_desc desc;
tfm = crypto_alloc_shash("sha1", 0, CRYPTO_ALG_ASYNC);
我假设我应该在那之后使用
来初始化它desc.tfm = tfm;
desc.flags = 0;
err = crypto_shash_init(&desc);
一切正常,但我想使用
crypto_shash_digest(&desc, ??, ??, sha_hash);
我意识到它需要一个 scatterlist 作为它的第二个参数,并且该 scatter 列表的长度作为第三个参数。我想不通的是我应该如何将文件加载到分散列表中以便将其提供给加密系统。
我已经阅读了相当多的内容,但迄今为止无法找到有关将文件内容加载到分散列表中的任何详细信息。因此,任何指向正确方向的指针都将不胜感激。
谢谢
【问题讨论】: