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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Антон Князев  
#1 Оставлено : 21 февраля 2025 г. 15:00:29(UTC)
Антон Князев

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

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

Сказал(а) «Спасибо»: 2 раз
Здравствуйте!

Описание:
1. Подписываю файл crypto.zip в crypto.zip.sig (см. ниже) с присоединенной подписью через скрипт
2. Выполняю проверку подписи в КрипртоПро CSP 5.0.13000 и сохраняю исходный файл после проверки
3. Далее файл после проверки пытаюсь распаковать и тут Ошибка. Файл crypto.zip не распаковывается.

Вопрос:
Что нужно добавить в скрипт, чтобы архивы zip корректно подписывались с присоединенной подписью?

Если взамен crypto.zip поставить простой файл (file.txt), то все работает корректно.

Цитата:


$store = new \CPStore();
$store->Open(CURRENT_USER_STORE, 'My', STORE_OPEN_READ_ONLY);
$certs = $store->get_Certificates();
$cert = $certs->Item(1);

$signer = new \CPSigner();
$signer->set_Certificate($cert);
$signer->set_KeyPin('1234');

$signedData = new \CPSignedData();
$data = file_get_contents('crypto.zip');
$signedData->set_Content($data);

$signature = $signedData->SignCades($signer, CADES_BES, false, ENCODE_BASE64);
file_put_contents('crypto.zip.sig', $signature);




crypto.zip (1kb) загружен 2 раз(а). crypto.zip.sig (2kb) загружен 2 раз(а).

Отредактировано пользователем 21 февраля 2025 г. 15:27:50(UTC)  | Причина: Не указана

Offline Андрей *  
#2 Оставлено : 21 февраля 2025 г. 15:15:22(UTC)
Андрей *

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

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

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

Приложите исходный и подписанный файл.

Техническую поддержку оказываем тут
Наша база знаний
Offline Антон Князев  
#3 Оставлено : 21 февраля 2025 г. 15:26:29(UTC)
Антон Князев

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

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

Сказал(а) «Спасибо»: 2 раз
Приложил файл
crypto.zip - исходный файл
Offline Андрей *  
#4 Оставлено : 21 февраля 2025 г. 15:37:01(UTC)
Андрей *

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

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

Сказал «Спасибо»: 594 раз
Поблагодарили: 2327 раз в 1825 постах
было подписано 12 байт, они и извлекаются.

Snimok ehkrana ot 2025-02-21 16-20-38.png (41kb) загружен 4 раз(а).

50 00 4B 00 03 00 04 00 14 00 03 00


но если смотреть исходный файл:

Snimok ehkrana ot 2025-02-21 16-24-25.png (25kb) загружен 3 раз(а).



далее для информации Особенности представления данных

решение:

указать что данные на входе в base64 перед
->set_Content($data);
и передавать base64 данные в $data перед подписанием.




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

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

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

Сказал «Спасибо»: 594 раз
Поблагодарили: 2327 раз в 1825 постах
$file = base64_encode(file_get_contents('путь к файлу'));
$signedData->set_ContentEncoding($CADESCOM_BASE64_TO_BINARY);
$signedData->set_Content($file);
Техническую поддержку оказываем тут
Наша база знаний
Offline Антон Князев  
#6 Оставлено : 21 февраля 2025 г. 15:45:49(UTC)
Антон Князев

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

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

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