Статус: Новичок
Группы: Участники
Зарегистрирован: 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" В чем можжет быть проблема?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,684   Сказал «Спасибо»: 572 раз Поблагодарили: 2302 раз в 1803 постах
|
Здравствуйте.
Алгоритм хэширования нужно указать до того, как будет передано хэш-значение |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 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 - ошибка сохранялась
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,684   Сказал «Спасибо»: 572 раз Поблагодарили: 2302 раз в 1803 постах
|
В документации и примерах есть про ГОСТ: cadescom_hash_algorithmЦитата: CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256 Алгоритм ГОСТ Р 34.11-2012. 101
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 12.12.2024(UTC) Сообщений: 3
|
Автор: Андрей *  В документации и примерах есть про ГОСТ: cadescom_hash_algorithmЦитата: CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256 Алгоритм ГОСТ Р 34.11-2012. 101
Спасибо
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close