Статус: Новичок
Группы: Участники
Зарегистрирован: 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)" Как быть в данной ситуации?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,630 Сказал «Спасибо»: 495 раз Поблагодарили: 2035 раз в 1579 постах
|
в oHashedData.propset_Algorithm - укажите старый ГОСТ. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 15.03.2019(UTC) Сообщений: 7 Откуда: Москва
|
Тогда мне и HASH надо считать старым алгоритмом?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 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. Как в этом случае реализовать параллельную подпись?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close