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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline bit82  
#1 Оставлено : 12 декабря 2024 г. 18:42:22(UTC)
bit82

Статус: Новичок

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

При провеке подписи по хэшу файла, чтобы сформировать объект signedData валится ArgumentException
Код:
Код:

SignedCms cms = new SignedCms();
cms.Decode(signature); //signature - массив байт с подписью.
//достанем хэш подписанного файла из подписи
var contentObject = cms.SignerInfos[0].SignedAttributes.Cast<CryptographicAttributeObject>()
   .FirstOrDefault(e => e.Oid.Value == Consts.CryptOID.MESSAGE_DIGEST);

//подготовим объект хэша подписанного файла для проверки подписи
CAdESCOM.CPHashedData hd = new CAdESCOM.CPHashedData();
hd.DataEncoding = CAdESCOM.CADESCOM_CONTENT_ENCODING_TYPE.CADESCOM_BASE64_TO_BINARY;
string hashedString = BitConverter.ToString(((Pkcs9MessageDigest)contentObject.Values[0]).MessageDigest).Replace("-", string.Empty);				
hd.SetHashValue(hashedString);//ArgumentException


P.S. Алгоритм хеша: "1.2.643.7.1.1.2.3"
В чем можжет быть проблема?
Offline Андрей *  
#2 Оставлено : 12 декабря 2024 г. 21:14:15(UTC)
Андрей *

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

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

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

Алгоритм хэширования нужно указать до того, как будет передано хэш-значение
Техническую поддержку оказываем тут
Наша база знаний
Offline bit82  
#3 Оставлено : 13 декабря 2024 г. 1:40:34(UTC)
bit82

Статус: Новичок

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

Автор: Андрей * Перейти к цитате
Здравствуйте.

Алгоритм хэширования нужно указать до того, как будет передано хэш-значение


Спасибо, но не понятно какой алгоритм указывать?
CPHashedData.Algorithm принимает значение из перечисления CAPICOM_HASH_ALGORITHM, которое имеет следующие значения:
CAPICOM_HASH_ALGORITHM_SHA1,
CAPICOM_HASH_ALGORITHM_MD2,
CAPICOM_HASH_ALGORITHM_MD4,
CAPICOM_HASH_ALGORITHM_MD5,
CAPICOM_HASH_ALGORITHM_SHA_256,
CAPICOM_HASH_ALGORITHM_SHA_384,
СAPICOM_HASH_ALGORITHM_SHA_512

А у меня алгоритм ГОСТ Р 34.11-2012 (256-bit).
P.S. Я пробовал указать CPHashedData.Algorithm = CAPICOM_HASH_ALGORITHM.CAPICOM_HASH_ALGORITHM_SHA_256 - ошибка сохранялась



Offline Андрей *  
#4 Оставлено : 13 декабря 2024 г. 10:53:50(UTC)
Андрей *

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

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

Сказал «Спасибо»: 572 раз
Поблагодарили: 2302 раз в 1803 постах
В документации и примерах есть про ГОСТ:
cadescom_hash_algorithm
Цитата:

CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256
Алгоритм ГОСТ Р 34.11-2012.
101


Техническую поддержку оказываем тут
Наша база знаний
Offline bit82  
#5 Оставлено : 13 декабря 2024 г. 13:16:00(UTC)
bit82

Статус: Новичок

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

Автор: Андрей * Перейти к цитате
В документации и примерах есть про ГОСТ:
cadescom_hash_algorithm
Цитата:

CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256
Алгоритм ГОСТ Р 34.11-2012.
101



Спасибо

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