Member 10849285 Ответов: 0

Как импортировать ключ для rsacsp из двоичного файла?


У меня есть приложение, которое подписывает данные из файла, вычисляя хэш-значение SHA-512. Это хэш-значение шифруется RSA-4096. Для этого я использовал Win32/API/Clases: CryptAcquireContext, CryptCreateHash, CryptSignHash. Открытый и закрытый ключи также были сгенерированы с помощью этого API. Зашифрованное хэш-значение (подпись) развертывается вместе (боком) с исходным файлом.

Закрытый ключ используется для шифрования-то есть для подписи.
Открытый ключ сериализуется в виде байтового массива в файл, который развертывается для расшифровки.

Моя цель-убедиться, что исходный файл не изменился.

На стороне клиента другая заявка должна проверить подпись. Это приложение разработано с помощью C# / .net 4.x-application. Я искал Microsoft RSACryptoServiceProvider для шифрования подписи, чтобы получить хэш-значение и сравнить его с новым вычисленным хэш-значением из исходного файла.

Нет проблем вычислить хэш-значение из исходного файла.

Но я не нашел возможности передать открытый ключ в виде байтового массива в RSACsp, чтобы впоследствии вызвать rsa.Расшифровать()-метод. Я нашел только метод FromXLMString (). Существует метод ImportCspBlob (). Но я не знаю, что он сделает.

Кто-нибудь знает, как импортировать ключ для RSACryptoServiceProvider из двоичного файла? Есть ли образец?

Что я уже пробовал:

Это описано вместе с проблемой.

0 Ответов