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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline coder59  
#1 Оставлено : 31 мая 2020 г. 22:23:44(UTC)
coder59

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

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

Сказал(а) «Спасибо»: 2 раз
Набросал пример подписи файла, вроде все сделал верно
http://plnkr.co/edit/qO1NJzktAIbhFpJM

Но проверку в следующих сервисах не проходит
https://crypto.kontur.ru/verify
https://www.gosuslugi.ru/pgu/eds/
https://www.justsign.me/verifyqca/Verify/

Что я делаю не так?

UserPostedImage

Сертификат генерировал здесь
Использую эту библиотеку для удобства

CryptoPro Extension for CAdES Browser Plug-in: 1.2.7
Версия плагина: 2.0.13771
Версия криптопровайдера: 5.0.11732
Криптопровайдер: Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
Chrome 83.0.4103.61 (Официальная сборка), (64 бит)
Windows 10.0.14393

Отредактировано пользователем 1 июня 2020 г. 20:57:02(UTC)  | Причина: Не указана

Offline Андрей *  
#2 Оставлено : 31 мая 2020 г. 23:05:29(UTC)
Андрей *

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
Здравствуйте.

У Вас тестовый сертификат от тестового УЦ.
Указанные сервисы доверяют только аккредитованным УЦ.


Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#3 Оставлено : 31 мая 2020 г. 23:12:58(UTC)
Андрей *

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
Проверил создание ЭП - неправильное значение хеша в ЭП.

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#4 Оставлено : 31 мая 2020 г. 23:20:00(UTC)
Андрей *

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
Изучали примеры?

Например:
demopage/cades_bes_file.html

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#5 Оставлено : 31 мая 2020 г. 23:28:02(UTC)
Андрей *

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
Автор: coder59 Перейти к цитате

Что я делаю не так?




Код:
document.getElementById('createSign').addEventListener('click', async () => {
    const oFile = $file.files[0];
    const hash = await toBase64(oFile);
    const hashBase64 = window.btoa(hash);
    const thumbprint = document.getElementById('certList').value;

    try {
      $result.value = await window.cryptoPro.createSignature(thumbprint, hashBase64);
      download($result.value);


Это Ваш код?
Если Да - что он по вашему... делает?
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
coder59 оставлено 02.06.2020(UTC)
Offline Андрей *  
#6 Оставлено : 31 мая 2020 г. 23:41:27(UTC)
Андрей *

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
Код:
 $result.value = await window.cryptoPro.createSignature(thumbprint, hashBase64);


Если у Вас есть желание использовать createSignature - то необходимо изучить описание...
https://github.com/vgoma...c/api/createSignature.ts


export const createSignature = _afterPluginsLoaded(
Цитата:

async (thumbprint: string, dataBase64: string, detachedSignature: boolean = true):


dataBase64 - это считанный файл, в base64.
Техническую поддержку оказываем тут
Наша база знаний
Offline coder59  
#7 Оставлено : 31 мая 2020 г. 23:51:11(UTC)
coder59

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: Андрей * Перейти к цитате
Это Ваш код?
Если Да - что он по вашему... делает?

частично
взял из примера
но видимо window.btoa(hash) проглядел, надо убрать, т.к. hash уже в base64

берет файл из инпута
получает его в base64
window.btoa не нужен
берет отпечаток сертификата
подписывает файл
скачивает его

Отредактировано пользователем 1 июня 2020 г. 0:16:21(UTC)  | Причина: Не указана

Offline coder59  
#8 Оставлено : 31 мая 2020 г. 23:57:25(UTC)
coder59

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

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

Сказал(а) «Спасибо»: 2 раз
Автор: Андрей * Перейти к цитате
dataBase64 - это считанный файл, в base64.


я так понимаю передавать данные надо без заголовка data:text/plain;base64,?

т.е. из txt-файла c Hello World
FileReader возвращает data:text/plain;base64,SGVsbG8gV29ybGQ=
а на подпись надо передать только SGVsbG8gV29ybGQ=

обновил код примера
только вот не знаю как проверить

но сервис теперь пишет так
UserPostedImage

Отредактировано пользователем 1 июня 2020 г. 0:21:56(UTC)  | Причина: Не указана

Offline expdts  
#9 Оставлено : 1 июня 2020 г. 9:52:20(UTC)
expdts

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

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

Сказал «Спасибо»: 2 раз
Поблагодарили: 2 раз в 2 постах
Автор: coder59 Перейти к цитате
Автор: Андрей * Перейти к цитате
dataBase64 - это считанный файл, в base64.


я так понимаю передавать данные надо без заголовка data:text/plain;base64,?

т.е. из txt-файла c Hello World
FileReader возвращает data:text/plain;base64,SGVsbG8gV29ybGQ=
а на подпись надо передать только SGVsbG8gV29ybGQ=

обновил код примера
только вот не знаю как проверить

но сервис теперь пишет так
UserPostedImage


Ваш сертификат не будет проверяться корректно, т.к. он создан на тестовом УЦ КриптоПро
Offline coder59  
#10 Оставлено : 1 июня 2020 г. 11:59:33(UTC)
coder59

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

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

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