我可以在JavaCard 3.0.4中使用预先计算的哈希来验证签名

时间:2017-08-16 07:46:15

标签: smartcard javacard

据我所知,在Javacard 3.0.5中有一个API verifyPreComputedHash()。 3.0.4怎么样?是否可以先使用setInitialDigest()加载预先计算的哈希,然后调用verify()?如果可能,请有人举个例子。

1 个答案:

答案 0 :(得分:0)

不,那是不可能的。用于哈希算法(如SHA-1和SHA-2)的填充由位填充和消息大小组成。不幸的是,在最后一次调用signatureverify之前,填充始终是必需的,并且完整邮件的大小为 unknown

就我个人而言,我从未理解这种setInitialDigest方法。只有要签名的数据在平台和芯片之间分开才有意义。此外,它依赖于错误定义的中间散列值的特定编码。对于新设计/平台,我当然会选择verifyPreComputedHash。但是,如果你在3.0.5之前做任何事情,这很有用,我很害怕。