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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline deslakator  
#1 Оставлено : 12 февраля 2021 г. 14:26:31(UTC)
deslakator

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

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

На фронте реализован данный код подписания Hash данных. Сам Hash считается на сервер стороне с использованием ГОСТ Р 34.11-2012.

Цитата:

let oSigner = yield cadesplugin.CreateObjectAsync('CAdESCOM.CPSigner');
yield oSigner.propset_Certificate(certificate);
yield oSigner.propset_CheckCertificate(true);

let oHashedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.HashedData");

yield oHashedData.propset_Algorithm(CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256);
// sHashValue это hex подсчитанный на стороне сервера с помощью JCP ГОСТ Р 34.11-2012.
yield oHashedData.SetHashValue(sHashValue);

// Создаем объект CAdESCOM.CadesSignedData
const oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
const sSignedMessage = yield oSignedData.SignHash(oHashedData, oSigner, cadesplugin.CADESCOM_CADES_BES);
return {signature: sSignedMessage};



Данный код отлично работает если пользователь подписывает данные с помощью сертификата с алгоритмом GOST R 34.11-2012 256 bit

Если же у пользователя сертификат с алгоритмом подписи GOST R 34.11-94, то при подписание плагин выкидывает ошибку:

"Параметр задан неверно. (0x80070057)"

Как быть в данной ситуации?
Online Андрей *  
#2 Оставлено : 12 февраля 2021 г. 15:07:15(UTC)
Андрей *

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
в oHashedData.propset_Algorithm - укажите старый ГОСТ.
Техническую поддержку оказываем тут
Наша база знаний
Offline deslakator  
#3 Оставлено : 12 февраля 2021 г. 15:12:17(UTC)
deslakator

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

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

Тогда мне и HASH надо считать старым алгоритмом?
Offline deslakator  
#4 Оставлено : 12 февраля 2021 г. 15:18:32(UTC)
deslakator

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

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

Выдержка из документации: https://docs.cryptopro.r...in-samples-raw-signature

Цитата:

// Предварительно вычисленное хэш-значение в виде строки шестнадцатеричных цифр,
// группами по 2 цифры на байт, с пробелами или без пробелов.
// Например, хэш-значение в таком формате возвращают объекты
// CAPICOM.HashedData и CADESCOM.HashedData.
var sHashValue = "92CD0CB36B10BFB88DEF198F80B7D2E667DBDA064D346405C25EEF77FFE375D7";

// Алгоритм хэширования, при помощи которого было вычислено хэш-значение
// Полный список поддерживаемых алгоритмов указан в перечислении CADESCOM_HASH_ALGORITHM
var hashAlg = CADESCOM_HASH_ALGORITHM_CP_GOST_3411; // ГОСТ Р 34.11-94



Как быть если у меня документ подписывают пользователи с сертификатами разных алгоритмов?

Как быть если первый подписант подписывает сертификатом ГОСТ Р 34.11-94, а второй ГОСТ 2012. Как в этом случае реализовать параллельную подпись?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.