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

Уведомление

Icon
Error

4 Страницы123>»
Опции
К последнему сообщению К первому непрочитанному
Offline Августина  
#1 Оставлено : 23 июля 2020 г. 18:35:38(UTC)
Августина

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

Группы: Участники
Зарегистрирован: 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) загружен 12 раз(а).
Смотрела сюда:
https://www.cryptopro.ru...aspx?g=posts&t=14454
https://cpdn.cryptopro.r...9d6e4e7fbe02325513a.html
https://www.cryptopro.ru...aspx?g=posts&t=12002
Подскажите, пожалуйста, как исправить данную ошибку.

Отредактировано пользователем 31 июля 2020 г. 15:58:40(UTC)  | Причина: Не указана

Offline Андрей *  
#2 Оставлено : 23 июля 2020 г. 22:10:31(UTC)
Андрей *

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

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

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

А зачем делается $sgn = base64_decode($content); ?

new.pdf.sig = в base64? если Да, то убрать декодирование,
библиотека сама внутри декодирует, Вы же указали ей: BASE64_TO_BINARY
Техническую поддержку оказываем тут
Наша база знаний
Offline Августина  
#3 Оставлено : 24 июля 2020 г. 12:11:49(UTC)
Августина

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

Группы: Участники
Зарегистрирован: 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]# 
Offline two_oceans  
#4 Оставлено : 25 июля 2020 г. 1:37:41(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 394 раз в 366 постах
Подозреваю, что это присоединенная подпись, для которой не передается контент отдельно от подписи. Поэтому наверно вызов setContentEncoding также лишний (так как он влияет на контент, переданный отдельно), а BASE64_TO_BINARY для подписи скромно указано как 0x01.
Offline Андрей *  
#5 Оставлено : 25 июля 2020 г. 9:36:25(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2049 раз в 1589 постах
Автор: two_oceans Перейти к цитате
Подозреваю, что это присоединенная подпись, для которой не передается контент отдельно от подписи. Поэтому наверно вызов setContentEncoding также лишний (так как он влияет на контент, переданный отдельно), а BASE64_TO_BINARY для подписи скромно указано как 0x01.


Подозрения про тип подписи верны.

Но, 0x01 - это тип подписи, BES.


VerifyCades
(
BSTR SignedMessage,
CADESCOM_CADES_TYPE CadesType,
VARIANT_BOOL bDetached
);



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

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2049 раз в 1589 постах
Автор: two_oceans Перейти к цитате
Подозреваю, что это присоединенная подпись, для которой не передается контент отдельно от подписи. Поэтому наверно вызов setContentEncoding также лишний (так как он влияет на контент, переданный отдельно), а BASE64_TO_BINARY для подписи скромно указано как 0x01.



ContentEncoding



Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#7 Оставлено : 25 июля 2020 г. 9:54:21(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2049 раз в 1589 постах
Уберите строки:
Цитата:
$SignedData->set_ContentEncoding(BASE64_TO_BINARY);
$sgn = base64_decode($content);

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

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2049 раз в 1589 постах
в целом по исходной ошибке - 0x8009100E - Не найден автор исходной подписи.

Приложите этот файл p7s (можете в ЛС) и напишите в каком приложении его делали.
Техническую поддержку оказываем тут
Наша база знаний
Offline Августина  
#9 Оставлено : 27 июля 2020 г. 10:39:18(UTC)
Августина

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

Группы: Участники
Зарегистрирован: 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);


Получаю по-прежнему ошибку сегментирования.
Файл отправлю в ЛС.
Offline Санчир Момолдаев  
#10 Оставлено : 28 июля 2020 г. 18:36:26(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 226 раз в 213 постах
Добрый день!
У вас закрытый контур?
доступ в интернет к адресам cdp есть?
Цитата:

Один из сертификатов в цепочке возможно отозван.
Вы хотите использовать этот сертификат (Да[Y], Нет[N], Отмена[C])?y
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
4 Страницы123>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.