Здравствуйте. Прошу мне помочь, как сгенерировать HMAC от сообщения? HEX:
1400000cb0b513341258473a9f7f216d5545df094b1bedc5cc6b46ea891bcb6081b1266e0b0b0b0b0b0b0b0b0b0b0b0b
Сообщение смог создать: b0b513341258473a9f7f216d
К сожалению не могу понять, как вычислить HMAC: 5545df094b1bedc5cc6b46ea891bcb6081b1266e
Я использую CipherSuite: TLS_RSA_WITH_AES_128_CBC_SHA (0x2f) и версию TLS: 1.0
Буду благодарен за помощь
https://tools.ietf.org/html/rfc2246#section-6.2.3.1
The MAC is generated as:
HMAC_hash(MAC_write_secret, seq_num + TLSCompressed.type +
TLSCompressed.version + TLSCompressed.length +
TLSCompressed.fragment));
Здесь:
seq_num - 64-битное число, счетчик, для Finished всегда 0, так как оно первое сообщение которое зашифровано
TLSCompressed.type - 1 байт, тип сообщения, для Finished - это handshake
TLSCompressed.version - 2 байта, версия SSL
TLSCompressed.length - 2 байта, длина сообщения
TLSCompressed.fragment - само сообщение
HMAC вычисляется так:
byte[] key = ...; // один из ключей, вычисленный на этапе key expansion
var hmacsha1 = new System.Security.Cryptography.HMACSHA1(key);
byte[] data = ...; // seq_num + type + version + length + fragment, с примера выше
byte[] hmac = hmacsha1.ComputeHash(data);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости