PKCS11 - SHA1HMAC产生不同的SHA1HMAC结果

时间:2017-09-05 10:39:11

标签: cryptography bouncycastle pkcs#11 hsm pkcs11interop

我按照以下步骤使用两个不同的API使用SHA1算法计算HMAC,并且两个输出都不匹配。

1)我首先使用SHA1算法通过 BouncyCastle API 计算给定数据和密钥的HMAC。

2)我们使用 PKCS11 API(Pkcs11Interop)计算HSM(Thales)内的数据和密钥的HMAC。

当我们比较1和2的结果时,数据不匹配。

Bouncy Castle代码:

        HMAC hmac = HMACSHA1.Create();

        String key = "BC55B4580589775F887890A7ACA5E624";

        hmac.Key = Util.HexStringToByteArray(key);

        byte[] modInput = Util.HexStringToByteArray("000000000000000000000006000080012b0601040181e438010102041603");

        String ki = Util.ByteArrayToHexString(hmac.ComputeHash(modInput));

PKCS11代码:

       ObjectHandle k = FindObjectByLabel(keyLabel);//same key as above

       Mechanism m = new Mechanism(CKM.CKM_SHA_1_HMAC);

      **//We have verified that both key and data value are the same**
      return mSession.Connection.Sign(m, k, data);

有人可以帮忙吗?

0 个答案:

没有答案