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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline skifcom  
#1 Оставлено : 4 апреля 2023 г. 9:09:04(UTC)
skifcom

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

Группы: Участники
Зарегистрирован: 01.03.2022(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
Добрый день! При усовершенствовании подписи CADES BES -> CADES T возникает ошибка:
Цитата:
Сведения об исключении: System.AccessViolationException
в CAdESCOM.CadesSignedDataClass.EnhanceCades(CAdESCOM.CADESCOM_CADES_TYPE, System.String, CAdESCOM.CAPICOM_ENCODING_TYPE)



Цитата:
Имя сбойного модуля: cadescom.dll, версия: 2.0.13600.0, метка времени: 0x637b8055
Код исключения: 0xc0000005
Смещение ошибки: 0x003d43ee
Путь сбойного модуля: C:\Program Files (x86)\Common Files\Crypto Pro\Shared\cadescom.dll


Для усиления используется такой код:

Цитата:
byte[] signature= файл подписи.
string TSAAddress = адрес TSA сервера

var signedData = new CAdESCOM.CadesSignedData();
CAdESCOM.CADESCOM_CADES_TYPE? cadesType = CAdESCOM.CADESCOM_CADES_TYPE.CADESCOM_CADES_T;
signedData.ContentEncoding = CAdESCOM.CADESCOM_CONTENT_ENCODING_TYPE.CADESCOM_BASE64_TO_BINARY;
signedData.Content = Convert.ToBase64String(signature);
SignedCms cms = new SignedCms();
cms.Decode(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;
hd.Algorithm = (CAPICOM.CAPICOM_HASH_ALGORITHM)101;

string hashedString = BitConverter.ToString(((Pkcs9MessageDigest)contentObject.Values[0]).MessageDigest).Replace("-", string.Empty);
hd.SetHashValue(hashedString);

signedData.VerifyHash(hd, Convert.ToBase64String(signature), CAdESCOM.CADESCOM_CADES_TYPE.CADESCOM_CADES_BES);

//усиляем подпись до указанного типа
var extendedSignature = Convert.FromBase64String(signedData.EnhanceCades(cadesType.Value, TSAAddress, CAdESCOM.CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64));


В чем может быть проблема? Пытался собрать логи как написано здесь: https://docs.cryptopro.ru/cades/plugin/cades-log, но во время ошибки никаких записей не пишется.
Версия КриптоПро CSP 4.09963, Cadescom.ddl - 2.0.13600.0
Offline basid  
#2 Оставлено : 4 апреля 2023 г. 18:05:52(UTC)
basid

Статус: Активный участник

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

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 141 раз в 127 постах
Отсутствует лицензия на TSP/OCSP?
Offline skifcom  
#3 Оставлено : 10 апреля 2023 г. 11:25:08(UTC)
skifcom

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

Группы: Участники
Зарегистрирован: 01.03.2022(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
Лицензия на tsp-client и ocsp-client не просрочена.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.