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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Aleksei Neverov  
#1 Оставлено : 26 ноября 2019 г. 9:49:07(UTC)
Aleksei Neverov

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

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

Сказал(а) «Спасибо»: 17 раз
Поблагодарили: 1 раз в 1 постах
День добрый!

Получил подпись следующим образом:

Код:
var sSignature = yield oSignedData.SignCades(oSigner, cadesplugin.CADESCOM_CADES_DEFAULT, false);


Шифрую подпись при помощи CPEnvelopedData

Код:
var oEncrypter = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPEnvelopedData");
yield oEncrypter.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);
yield oEncrypter.propset_Content(sSignature);
yield (yield oEncrypter.Recipients).Clear();
yield (yield oEncrypter.Recipients).Add(oEncryptionCert);	
var sEncryptedData = yield oEncrypter.Encrypt();


Все проходит хорошо. Для проверки решил расшифровать подпись. Для этого сразу за шифрованием выполняю код:

Код:
var oDecrypter = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPEnvelopedData");
yield oDecrypter.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);
yield oDecrypter.propset_Content(sEncryptedData);
yield (yield oDecrypter.Recipients).Clear();
yield (yield oDecrypter.Recipients).Add(oEncryptionCert);	
yield oDecrypter.Decrypt();
var sDecryptedData = yield oDecrypter.Content;


Скрипт на выполнении yield oDecrypter.Decrypt(); падает с ошибкой "The parameter is incorrect. (0x80070057)"

КриптоПро CSP 4.0.9944, версия ядра СКЗИ 4.0.9017 КС1, CAdES browser plugin 2.0.13771
Сертификаты тестовые

Подскажите, пожалуйста, что я делаю не так при расшифровке?

Заранее спасибо!
Offline Aleksei Neverov  
#2 Оставлено : 26 ноября 2019 г. 10:22:50(UTC)
Aleksei Neverov

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

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

Сказал(а) «Спасибо»: 17 раз
Поблагодарили: 1 раз в 1 постах
Проблема решена, неправильно передавал параметры. Нужно было так:

Код:
var oDecrypter = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPEnvelopedData");
yield oDecrypter.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);
yield (yield oDecrypter.Recipients).Clear();
yield (yield oDecrypter.Recipients).Add(oEncryptionCert);	
yield oDecrypter.Decrypt(sEncryptedData);
var sDecryptedData = yield oDecrypter.Content;
thanks 1 пользователь поблагодарил Aleksei Neverov за этот пост.
skobelin оставлено 16.02.2022(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.