PKCS11 - SHA1HMAC дает другой результат SHA1HMAC
Я следую приведенным ниже шагам, чтобы вычислить HMAC с использованием алгоритма SHA1 с использованием двух разных API, и оба выхода не совпадают.
1) Сначала я вычисляю HMAC для данных и ключа, используя алгоритм SHA1 через API BouncyCastle.
2) Мы вычисляем HMAC для данных и ключа внутри HSM(Thales), используя PKCS11 API (Pkcs11Interop).
Когда мы сравнили результаты 1 и 2, данные не совпадают.
Код Надувного Замка:
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);
Может ли кто-нибудь помочь в этом?