Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.12.2021(UTC) Сообщений: 59 Откуда: Нск Сказал(а) «Спасибо»: 26 раз
|
Приветствую коллеги! Есть задача проверки файла + его подписи на веб сервере (centos php 7). Установил расширение phpcades ... Модуль подключился, чего с ним делать дальше - большой вопрос! Где документация на модуль - какие объекты создавать, методы, параметры и т.д. и т.п.?! Единственный пример использования из документации "не взлетел" - при запуске даёт ошибку: Cannot find object or property. (0x80092004) Отредактировано пользователем 29 декабря 2021 г. 8:19:51(UTC)
| Причина: Не указана
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 394 раз в 366 постах
|
Добрый день. Там же все и указано. Приблизительно все то же что и для плагина (точнее интерфейса COM ЭЦП SDK), только пристроен мостик в синтаксисе php. https://docs.cryptopro.r.../cadescom/cadescom_classПример https://docs.cryptopro.r...hpcades/phpcades-samples ищет в хранилище uMy (Личные) сертификат с именем "test" "Cannot find object or property. (0x80092004)" - это означает, что не находит чего-то, например сертификата с именем "test". Правда должно быть более осмысленное описание что сертификат не нашелся. Подстройте под себя имя сертификата или сделайте поиск по отпечатку или номеру сертификата (как в примере для JS - перечисление сертификатов и сравнение номера). Еще я бы убрал (закомментировал) для начальных тестов, потом разберетесь нужно ли Вам. Код:$signer->set_TSAAddress($tsp_addres);
Отредактировано пользователем 29 декабря 2021 г. 10:33:08(UTC)
| Причина: Не указана
|
1 пользователь поблагодарил two_oceans за этот пост.
|
GTAlex оставлено 11.01.2022(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.12.2021(UTC) Сообщений: 59 Откуда: Нск Сказал(а) «Спасибо»: 26 раз
|
А рабочие примеры на PHP где нибудь можно посмотреть?
Очень интересует проверка файла с его подписью.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.12.2021(UTC) Сообщений: 59 Откуда: Нск Сказал(а) «Спасибо»: 26 раз
|
Автор: GTAlex А рабочие примеры на PHP где нибудь можно посмотреть?
Очень интересует проверка файла с его подписью. на сервере проверяю подпись через командную строку - работает /opt/cprocsp/bin/amd64/cryptcp -nochain -vsignf blank.pdf -f blank.pdf.sgn через онлайн сервис проверки тоже работает тоже самое пробую сделать на php Цитата:<?php $data = base64_encode(file_get_contents('blank.pdf')); $sgn = base64_encode(file_get_contents('blank.pdf.sgn'));
try { $sd = new CPSignedData();
$sd->set_ContentEncoding(BASE64_TO_BINARY); $sd->set_Content($data);
$check = $sd->VerifyCades($sgn, CADES_BES, 1); // 1 - отсоединенная
printf('OK'); } catch(Exception $e) { printf('Exception: ' . $e->getMessage() . "\n"); printf("FAIL\n"); } ?>
завершается с исключением Exception: Cannot find the original signer. (0x8009100E) FAIL подскажите, что не так?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,691 Сказал «Спасибо»: 500 раз Поблагодарили: 2046 раз в 1586 постах
|
Приложите пример файла (можно текстовый файл подписать тестовым сертификатом). Подпись точно отсоединенная и в DER? |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
GTAlex оставлено 11.01.2022(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.12.2021(UTC) Сообщений: 59 Откуда: Нск Сказал(а) «Спасибо»: 26 раз
|
Автор: Андрей * Приложите пример файла (можно текстовый файл подписать тестовым сертификатом). Подпись точно отсоединенная и в DER? что такое DER не очень понимаю, подпись генерировал с помощью плагина, по образу и подобию https://www.cryptopro.ru...page/cades_bes_file.htmlфайл + подпись прикрепил blank.pdf.sig.txt (31kb) загружен 3 раз(а). blank.pdf.txt (15kb) загружен 3 раз(а).
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,691 Сказал «Спасибо»: 500 раз Поблагодарили: 2046 раз в 1586 постах
|
Автор: GTAlex Автор: Андрей * Приложите пример файла (можно текстовый файл подписать тестовым сертификатом). Подпись точно отсоединенная и в DER? что такое DER не очень понимаю, подпись генерировал с помощью плагина, по образу и подобию https://www.cryptopro.ru...page/cades_bes_file.htmlфайл + подпись прикрепил blank.pdf.sig.txt (31kb) загружен 3 раз(а). blank.pdf.txt (15kb) загружен 3 раз(а). Отсюда и проблемы. Получить на странице base64 и еще раз закодировать в base64 перед передачей в cadesphp... Если подпись из DER (бинарный, исходный формат), закодирована в base64 - не нужно вот это: $sgn = base64_encode(file_get_contents('blank.pdf.sgn')); |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
GTAlex оставлено 11.01.2022(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.12.2021(UTC) Сообщений: 59 Откуда: Нск Сказал(а) «Спасибо»: 26 раз
|
Автор: Андрей * Отсюда и проблемы. Получить на странице base64 и еще раз закодировать в base64 перед передачей в cadesphp... Если подпись из DER (бинарный, исходный формат), закодирована в base64 - не нужно вот это: $sgn = base64_encode(file_get_contents('blank.pdf.sgn'));
Да, всё как обычно - проблемы из-за отсутствия знаний ... спасибо за разъяснение! Теперь даже не исключение, а ситуация которую я уже встречал на форуме, и однозначного решения не увидел Segmentation fault :(
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.12.2021(UTC) Сообщений: 59 Откуда: Нск Сказал(а) «Спасибо»: 26 раз
|
Цитирую предоставленное ТП решение проблемы с segmentation fault Цитата: Выполните команду (с правами root) вида:
/opt/cprocsp/sbin/amd64/cpconfig -ini '\cryptography\apppath' -add string 'libcurl.so' '/usr/lib/x86_64-linux-gnu/libcurl.so'
где
'/usr/lib/x86_64-linux-gnu/libcurl.so' - замените на путь к системной библиотеке libcurl.
в моём случае (CentOS 7 + PHP 7.4.27) путь такой '/usr/lib64/libcurl.so.4.3.0' вставил, запустил, заработало!
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.12.2021(UTC) Сообщений: 59 Откуда: Нск Сказал(а) «Спасибо»: 26 раз
|
Всем большое спасибо! Андрей - Вам многократное :)
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close