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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Zoltán ZiZi  
#1 Оставлено : 9 августа 2020 г. 14:53:36(UTC)
Zoltán ZiZi

Статус: Участник

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

Сказал(а) «Спасибо»: 1 раз
Добрый день.
Пытаюсь реализовать подпись pdf файлов через плагин.

За основу взяли вот этот пост:
https://www.cryptopro.ru...aspx?g=posts&t=14511

То есть производится селедеющеее
1) формируется временный pdf через MakeSignature.signExternalContainer(), а его сам хэш подписи отправляется для подписания в браузере.
2) Хэш подписывется через var Signature = yield oSignedData.SignCades(oSigner, cadesplugin.CADESCOM_CADES_BES, true) и отправляется обратно
3) Сервер создает третий документ (или перезаписывает оригинальный - тут разницы нет), куда помещаеся подписанный хэш через MakeSignature.signDeferred().

В результате при проверке в Adobe Reader с установленным КриптоПро отображается красная иконка подписи и текст:
ПОДПИСЬ НЕДЕЙСТВИТЕЛЬНА
Подписан...
- Документ был изменен или поврежден после подписания
- Подпись сделана в формате CADES BES.
- Целостность документа повреждена
- Сертификат ненадежный
- Проблемы с проверкой сертификата и/или его цепочки.

Также была попытка просто формировать хэш подписи без создания файла и отправлять его на клиент для подписи,
а после получения ответа уже формировать подпись через MakeSignature.signDetached().

В таком случае иконка подписи горит желтым и ошибка только одна:

- Сертификат ненадежный. Проблемы с проверкой сертификата и/или его цепочки.

ЧТо мы делаем не так?
Offline Андрей *  
#2 Оставлено : 9 августа 2020 г. 15:39:06(UTC)
Андрей *

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

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

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

Автор: Zoltán ZiZi Перейти к цитате


Также была попытка просто формировать хэш подписи без создания файла и отправлять его на клиент для подписи,
а после получения ответа уже формировать подпись через MakeSignature.signDetached().

В таком случае иконка подписи горит желтым и ошибка только одна:

- Сертификат ненадежный. Проблемы с проверкой сертификата и/или его цепочки.

ЧТо мы делаем не так?


Значит нужно решать эту проблему.
Обеспечить наличие всех crl из цепочки в локальном хранилище (промежуточные ЦС),
а также корректность построения пути сертификации.
Техническую поддержку оказываем тут
Наша база знаний
Offline Zoltán ZiZi  
#3 Оставлено : 10 августа 2020 г. 10:15:37(UTC)
Zoltán ZiZi

Статус: Участник

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

Сказал(а) «Спасибо»: 1 раз
Все сертификаты установлены.
При просмотре корневых сертификатов цепочка также отображается.

Если подписать той же подписью непосредственно в Adobe Reader, то подпись действительная.

Может есть еще примеры, как реализовывается подпись через плагин?
Offline Андрей *  
#4 Оставлено : 10 августа 2020 г. 10:27:17(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2045 раз в 1586 постах
Цитата:

2) Хэш подписывется через var Signature = yield oSignedData.SignCades(oSigner, cadesplugin.CADESCOM_CADES_BES, true) и отправляется обратно



это неправильно, внутри SignCades будет вычислен хеш и именно он будет подписан.

Смотрите подписание по хешу

Отредактировано пользователем 10 августа 2020 г. 10:31:44(UTC)  | Причина: Не указана

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

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2045 раз в 1586 постах
Цитата:
oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
..

oSignedData.SignHash(oHashedData, oSigner, CADESCOM_CADES_BES);
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.