Как получить повторяемый HMA C ha sh с сертификатом keyvault - PullRequest
0 голосов
/ 05 августа 2020

Нам нужно получить HMACSHA256Hash в виде строки. NET.

Мне нужно получить повторяемое (пока оно не вращается) значение ha sh для данного ввода в ha sh. Я хотел бы использовать сертификат хранилища ключей с автоповоротом в качестве ключа, который используется для создания HMA C. Функция ha sh может возвращать другое значение после поворота сертификата.

Конструктор HMACSHA256Hash принимает byte[] в качестве ключа. У меня есть объект X509Certificate2, возвращенный из запроса хранилища ключей. Я попытался использовать метод X509Certificate2.Export(), чтобы использовать byte[] в качестве ключа, однако вызов Export() дважды для одного и того же объекта возвращает другой byte [] по дизайну в. NET.

Каковы мои варианты получения детерминированности c byte[] из заданного X509Certificate2 в этом случае?

1 Ответ

0 голосов
/ 05 августа 2020

однако вызов Export () дважды для одного и того же объекта возвращает другой byte [] по дизайну в. NET.

Это зависит от того, в какой формат вы экспортируете. X509ContentType.Cert выдаст фиксированный ответ для заданного ввода, который представляет собой только данные сертификата (без информации о закрытом ключе). Те же данные доступны для свойства X509Certificate2.RawData.

...