在PKCS11规范v2.40中,我们看到一些与CKA_VALUE_LEN属性和UnwrapKey行为相混淆的地方。
来自PKCS11规范2.40节2.8.2,

2在用->创建对象时,不能指定C_CreateObject。
3当使用C_GenerateKey或C_GenerateKeyPair生成对象时,必须指定D4。
6在用->打开对象时,不能指定C_UnwrapKey。
在AES-ECB和AES-CBC中,规范要求通过CKA_VALUE_LEN (第2.8.4节),

那么,对应用程序的期望是什么呢?在展开过程中,应用程序是否需要传递CKA_VALUE_LEN?
注意:甚至连PKCS11规范3.0也在说同样的话。
发布于 2020-11-06 13:44:03
是的,我认为这是足够不清楚的要求澄清作者的文件,它可能需要修复。
但是,我所知道的是,从包装的密钥本身看,密钥大小是明确的。因此,在调用CKA_VALUE_LEN期间,绝对不需要指定C_UnwrapKey。也没有必要检查它;如果键可以更改,我会更担心键的值,而不是键的大小。
可能的意思是,包装密钥的密钥大小是使用CKA_VALUE_LEN during密钥生成确定的。因为在这种情况下,类型本身并没有指定输出长度,即正在展开的键的大小。
https://crypto.stackexchange.com/questions/86011
复制相似问题