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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline sergeySg  
#1 Оставлено : 19 ноября 2024 г. 11:24:10(UTC)
sergeySg

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

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

Имеется сертификат .cer, и файл .pfx
при установке их на компьютер(win10/11) и подписании тестового документа в приложении cstools - Инструкменты КриптоПРО - документ подписывается и всё работает штатно
при подписании документов с помощью плагина plug-in для криптопро возникает ошибка
(0x80070057)
{message: "Параметр задан неверно. (0x80070057)"
requestid: 62
type: "error"
}
Корневой сертификат так же установлен.

Версия КриптоПРО CSP - 5.0.12998
На клиентской машине установлены:
- корневой сертификат УЦ
- список отзывов
- сертификат пользователя

на стороне клиента, установлен npm пакет crypto-pro, метод, который выводит ошибку подписи await createDetachedSignature(thumbprint, messageHash)
с другими подписями, у которых нет .pfx файла, а только .cer, такой проблемы при подписании не возникает.
Подскажите, что может быть не так и куда копать

пример кода на JS

let messageHash = await createHash(reader.result)
console.log('message', messageHash);

result = await createDetachedSignature(thumbprint, messageHash)
console.log(result);

messageHash создаётся, но падает в ошибку в методе createDetachedSignature

Отредактировано пользователем 19 ноября 2024 г. 11:48:09(UTC)  | Причина: Не указана

Offline nickm  
#2 Оставлено : 19 ноября 2024 г. 12:11:39(UTC)
nickm

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

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

Сказал(а) «Спасибо»: 566 раз
Поблагодарили: 396 раз в 375 постах
Автор: sergeySg Перейти к цитате
Версия КриптоПРО CSP - 5.0.12998

Почему именно эта версия СКЗИ? Используйте сертифицированные версии.

Сторонних криптопровайдеров в системе нет?
Offline sergeySg  
#3 Оставлено : 19 ноября 2024 г. 12:34:47(UTC)
sergeySg

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

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

Сторонних провайдеров нет, подскажите пожалуйста рекомендуемую версию, если с этой что-то не так.
всплыла ещё одна идея: подпись выполнена шифрованием 512бит, а наш сервис обрабатывает только подписи в 256 бит.
возмоажна основная проблема в выборе метода шифрования
Offline nickm  
#4 Оставлено : 19 ноября 2024 г. 13:18:17(UTC)
nickm

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

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

Сказал(а) «Спасибо»: 566 раз
Поблагодарили: 396 раз в 375 постах
Автор: sergeySg Перейти к цитате
подскажите пожалуйста рекомендуемую версию, если с этой что-то не так.

Всегда следует использовать сертифицированную версию СКЗИ, на сег. день, крайняя сертифицированная версия - это "5.0.13000".

Для выполнения тестирования, можно использовать несертифицированные версии, крайнняя на сег. день - это "5.0.13300".

Автор: sergeySg Перейти к цитате
всплыла ещё одна идея: подпись выполнена шифрованием 512бит, а наш сервис обрабатывает только подписи в 256 бит.
возможно основная проблема в выборе метода шифрования

Т.е. выше, где Вы писали про плагин, это не про плагин КриптоПро? Это собственная реализация?
Offline sergeySg  
#5 Оставлено : 19 ноября 2024 г. 14:24:00(UTC)
sergeySg

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

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

Спасибо за внимание к проблеме. Решил проблему, дополнив свой код обработкой шифрования подписи 512 бит на основе данных oid сертификата.
наш алгоритм умел работать только с подписями 256 бит, но не 512
Дело было в программном коде на основе npm пакета crypto-pro, а не в СКЗИ. Вопрос снят, проблема решена


Приложу код, если у кого-то будет похожая проблема на JS npm crypto-pro
const certificate = await getCertificate(thumbprint)
const algoritm = await certificate.getAlgorithm()
if (algoritm.oid === _this.HASH_OID_512) {
is512bit = true
}
let hashMessage= await createHash(reader.result, { hashedAlgorithm: is512bit ? window.cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512 : null })
result = await createDetachedSignature(thumbprint, hashMessage, { hashedAlgorithm: is512bit ? window.cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512 : null })
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.