Статус: Участник
Группы: Участники
Зарегистрирован: 17.07.2020(UTC) Сообщений: 18  Откуда: Москва Сказал(а) «Спасибо»: 2 раз
|
Здравствуйте, Выполняю следующий код для проверки подписи: Код:
$content = Storage::get('/files/new.pdf.sig');
$SignedData = new CPSignedData();
$SignedData->set_ContentEncoding(BASE64_TO_BINARY);
$sgn = base64_decode($content);
$check = $SignedData->VerifyCades($sgn, 0x01, false);
Получаю ошибку: Exception Internal error. (0x8009100E) Проверяю файл через cryptcp Код:bin/amd64/cryptcp -verify -verall /********/app/files/new.pdf.sig
Автор подписи: "ООО ""********""", *******, *********, RU, 77 г. Москва, Москва, "УЛ ТАТАРСКАЯ Б, ДОМ 35, СТР 4, ЭТ 4 ПОМ XII КОМ 13", "ООО ""********""", Генеральный Директор, *******, *****, *******, ********************@sertum-pro.rosreestr.ru
Один из сертификатов в цепочке возможно отозван.
Вы хотите использовать этот сертификат (Да[Y], Нет[N], Отмена[C])?y
Подпись проверена.
[ErrorCode: 0x00000000]
Проверяю также через сервис https://dss.cryptopro.ru/Verify/Verify/ Snimok ehkrana 2020-07-23 v 18.28.05.png (248kb) загружен 14 раз(а).Смотрела сюда: https://www.cryptopro.ru...aspx?g=posts&t=14454https://cpdn.cryptopro.r...9d6e4e7fbe02325513a.htmlhttps://www.cryptopro.ru...aspx?g=posts&t=12002Подскажите, пожалуйста, как исправить данную ошибку. Отредактировано пользователем 31 июля 2020 г. 15:58:40(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,712   Сказал «Спасибо»: 574 раз Поблагодарили: 2303 раз в 1804 постах
|
Здравствуйте.
А зачем делается $sgn = base64_decode($content); ?
new.pdf.sig = в base64? если Да, то убрать декодирование, библиотека сама внутри декодирует, Вы же указали ей: BASE64_TO_BINARY |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 17.07.2020(UTC) Сообщений: 18  Откуда: Москва Сказал(а) «Спасибо»: 2 раз
|
Автор: Андрей *  Здравствуйте.
А зачем делается $sgn = base64_decode($content); ?
new.pdf.sig = в base64? если Да, то убрать декодирование, библиотека сама внутри декодирует, Вы же указали ей: BASE64_TO_BINARY Здравствуйте, да в base64 с -----BEGIN CMS----- и -----END CMS-----.Пробовала их убирать - результат тот же. Убрала декодирование. С декодированием не было ошибки сегментирования хотя бы. Теперь ошибка сегментирования: Код:root@dev3 /o/cprocsp# php test.php
fish: 'php test.php' terminated by signal SIGSEGV (Address boundary error)
root@dev3 /o/cprocsp# bash
[root@dev3 cprocsp]# php test.php
Ошибка сегментирования
[root@dev3 cprocsp]# php test.php
Ошибка сегментирования
[root@dev3 cprocsp]#
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602  Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 396 раз в 366 постах
|
Подозреваю, что это присоединенная подпись, для которой не передается контент отдельно от подписи. Поэтому наверно вызов setContentEncoding также лишний (так как он влияет на контент, переданный отдельно), а BASE64_TO_BINARY для подписи скромно указано как 0x01.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,712   Сказал «Спасибо»: 574 раз Поблагодарили: 2303 раз в 1804 постах
|
Автор: two_oceans  Подозреваю, что это присоединенная подпись, для которой не передается контент отдельно от подписи. Поэтому наверно вызов setContentEncoding также лишний (так как он влияет на контент, переданный отдельно), а BASE64_TO_BINARY для подписи скромно указано как 0x01. Подозрения про тип подписи верны. Но, 0x01 - это тип подписи, BES. VerifyCades ( BSTR SignedMessage, CADESCOM_CADES_TYPE CadesType, VARIANT_BOOL bDetached ); |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,712   Сказал «Спасибо»: 574 раз Поблагодарили: 2303 раз в 1804 постах
|
Автор: two_oceans  Подозреваю, что это присоединенная подпись, для которой не передается контент отдельно от подписи. Поэтому наверно вызов setContentEncoding также лишний (так как он влияет на контент, переданный отдельно), а BASE64_TO_BINARY для подписи скромно указано как 0x01. ContentEncoding |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,712   Сказал «Спасибо»: 574 раз Поблагодарили: 2303 раз в 1804 постах
|
Уберите строки: Цитата:$SignedData->set_ContentEncoding(BASE64_TO_BINARY); $sgn = base64_decode($content); и проверьте. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,712   Сказал «Спасибо»: 574 раз Поблагодарили: 2303 раз в 1804 постах
|
в целом по исходной ошибке - 0x8009100E - Не найден автор исходной подписи.
Приложите этот файл p7s (можете в ЛС) и напишите в каком приложении его делали.
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 17.07.2020(UTC) Сообщений: 18  Откуда: Москва Сказал(а) «Спасибо»: 2 раз
|
Автор: two_oceans  Подозреваю, что это присоединенная подпись, для которой не передается контент отдельно от подписи. Поэтому наверно вызов setContentEncoding также лишний (так как он влияет на контент, переданный отдельно), а BASE64_TO_BINARY для подписи скромно указано как 0x01. Здравствуйте. Да, подпись присоединенная. Автор: Андрей *  Уберите строки: Цитата:$SignedData->set_ContentEncoding(BASE64_TO_BINARY); $sgn = base64_decode($content); и проверьте. Использую следующий код Код:
$content = file_get_contents('/var/www/..../new.pdf.sig');
$SignedData = new CPSignedData();
$check = $SignedData->VerifyCades($content, 0x01, false);
Получаю по-прежнему ошибку сегментирования. Файл отправлю в ЛС.
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,225  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 291 раз в 271 постах
|
Добрый день! У вас закрытый контур? доступ в интернет к адресам cdp есть? Цитата: Один из сертификатов в цепочке возможно отозван. Вы хотите использовать этот сертификат (Да[Y], Нет[N], Отмена[C])?y
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close