【发布时间】:2018-10-25 09:08:22
【问题描述】:
我想在 JavaCard Applet 中生成 HMAC_SHA1 签名
我正在尝试签署包含 inBuffer 字节数组 S(字节数组,64 字节)中的消息。 javacard (jc) 小程序模块的函数的 sn-p 如下所示。我正在使用 javacard3.0.1 库来开发 jc 小程序。
Signature m_sessionMAC = null;
HMACKey keyType = null;
// Create HMAC Key Used in Mac
m_sessionMAC = Signature.getInstance(Signature.ALG_HMAC_SHA_1, false);
// Create HMAC Key Used in Mac
keyType = (HMACKey) KeyBuilder.buildKey(KeyBuilder.TYPE_HMAC, KeyBuilder.LENGTH_HMAC_SHA_256_BLOCK_64, false);
keyType.setKey(S,(short) 0, (short) S.length);
这个 keyType.setKey 导致异常为 ILLEGAL_VALUE,请指导我做错了什么?
【问题讨论】: