Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Александр_Pyankov_  
#1 Оставлено : 8 декабря 2021 г. 15:48:30(UTC)
Александр_Pyankov_

Статус: Участник

Группы: Участники
Зарегистрирован: 24.06.2021(UTC)
Сообщений: 17

Сказал(а) «Спасибо»: 4 раз
Всем здравствуйте!
В рамках интеграции со СМЭВ 3 возникла необходимость создать подпись хэш файла по алгоритму ГОСТ 34.10-2012, 256 бит

Пытаюсь это сделать следующим образом:
Код:

public byte[] CreateSignatureByGost3410(byte[] hashToSign)
{
	var provider = new Gost3410_2012_256CryptoServiceProvider();

	GostSignatureFormatter formatter = new GostSignatureFormatter(provider);

	formatter.SetKey(cert.PrivateKey);

	return formatter.CreateSignature(hashToSign);
}

Возникает исключение:
System.Security.Cryptography.CryptographicException: Parameter must support GOST R 34.10-2001 algorithm.

Использую CryptoPro CSP 5.0

Вот используемый сертификат
cert.png (14kb) загружен 7 раз(а).

Подскажите пожалуйста пути решения

Отредактировано пользователем 8 декабря 2021 г. 16:00:44(UTC)  | Причина: Не указана

Offline Андрей *  
#2 Оставлено : 8 декабря 2021 г. 15:56:20(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,340
Мужчина
Российская Федерация

Сказал «Спасибо»: 550 раз
Поблагодарили: 2212 раз в 1727 постах
Здравствуйте.

В сертификате ГОСТ-2001?
Техническую поддержку оказываем тут
Наша база знаний
Offline Александр_Pyankov_  
#3 Оставлено : 8 декабря 2021 г. 16:01:41(UTC)
Александр_Pyankov_

Статус: Участник

Группы: Участники
Зарегистрирован: 24.06.2021(UTC)
Сообщений: 17

Сказал(а) «Спасибо»: 4 раз
Нет, в сертификате ГОСТ Р 34.11-2012/34.10-2012 256 бит. Прикрепил скрин
Offline Александр_Pyankov_  
#4 Оставлено : 8 декабря 2021 г. 16:20:53(UTC)
Александр_Pyankov_

Статус: Участник

Группы: Участники
Зарегистрирован: 24.06.2021(UTC)
Сообщений: 17

Сказал(а) «Спасибо»: 4 раз
Нашел проблему. Сори за беспокойство. Дело было в том, что форматтер нужно было тоже соответствующий указывать.
Вот итоговый рабочий код

Код:

public byte[] CreateSignatureByGost3410(byte[] hashToSign)
{
	var provider = new Gost3410_2012_256CryptoServiceProvider();

	Gost2012_256SignatureFormatter formatter = new Gost2012_256SignatureFormatter(provider);

	formatter.SetKey(cert.PrivateKey);

	return formatter.CreateSignature(hashToSign);
}
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.