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

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline GTAlex  
#1 Оставлено : 13 сентября 2024 г. 9:43:13(UTC)
GTAlex

Статус: Активный участник

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

Сказал(а) «Спасибо»: 66 раз
Поблагодарили: 1 раз в 1 постах
Использую php_cades подписываю тестовыми сертификатом, тут же хочу получить время подписания

$cpSigner->get_SigningTime() вываливается по исключению Cannot find object or property.\n (0x80092004)

если "вытаскиваю" данные с файлов подписанных локально - ошибки нет, время подписания получаю без проблем

PS
версия Крипто-про
CSP (Type:80) v5.0.10008 KC1 Release Ver:5.0.12000 OS:Linux CPU:AMD64 FastCode:READY:AVX.


Куда копать ума не приложу
Offline Андрей *  
#2 Оставлено : 13 сентября 2024 г. 10:45:52(UTC)
Андрей *

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

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

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


Цитата:

$cpSigner->get_SigningTime() вываливается по исключению Cannot find object or property.\n (0x80092004)


цепочка рассуждений:
Т.е. после подписания - свойство не заполнено.
После проверки (этого же файла) - свойство заполнено?
Выводы?

SigningTime - по документации - вызывать когда можно?
При проверке ЭП?

Техническую поддержку оказываем тут
Наша база знаний
Offline GTAlex  
#3 Оставлено : 13 сентября 2024 г. 11:43:22(UTC)
GTAlex

Статус: Активный участник

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

Сказал(а) «Спасибо»: 66 раз
Поблагодарили: 1 раз в 1 постах
Автор: Андрей * Перейти к цитате

цепочка рассуждений:
Т.е. после подписания - свойство не заполнено.
После проверки (этого же файла) - свойство заполнено?
Выводы?


Цепочка рассуждений такая - свойство заполняется в момент подписания и если подписалось, оно не может быть не заполнено.
Проверка подписи в интерфейсе эту дату вытаскивает корректно.

Автор: Андрей * Перейти к цитате

SigningTime - по документации - вызывать когда можно?
При проверке ЭП?


Да, при проверке, когда подпись создана.

Читаем документацию

Цитата:

Свойство SigningTime возвращает время, содержащееся в атрибуте signingTime. Если указанный атрибут отсутствует, свойство вернет ошибку.

Обратите внимание, что данное свойство доступно только для объекта CPSigner, полученого из сообщения после того как сообщение было проверено при помощи метода ISignedData2::Verify или ICPSignedData2::VerifyCades.


Мой код

Код:

$signedData = new \CPSignedData();
$signedData->set_ContentEncoding(BASE64_TO_BINARY);
$signedData->set_Content($content);
$signedData->VerifyCades($signature, CADES_BES, 1);

$cpSigners = $signedData->get_Signers();
$cpSigner = $cpSigners->get_Item(1);
$signingTime = $cpSigner->get_SigningTime();


Причём, подпись созданная на клиенте в этом месте нормально отрабатывает - проблема именно с серверным подписанием. Не пойму какая разница, подписант есть, время подписания есть.

Попробовал получить время из другого атрибута - тоже ошибка
$signatureTimeStampTime = $cpSigner->get_SignatureTimeStampTime();

Выводы такие - скорее всего для получения времени подписания я дёргаю не те методы, собственно для этого топик и создал, т.к. не знаю как правильно.


PS
Жаль в IDE у методов расширения отсутствует какое либо описание (типы возвращаемых данных и т.п.) - было бы значительно удобней

Отредактировано пользователем 13 сентября 2024 г. 12:50:11(UTC)  | Причина: Не указана

Offline Андрей *  
#4 Оставлено : 13 сентября 2024 г. 12:00:36(UTC)
Андрей *

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

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

Сказал «Спасибо»: 549 раз
Поблагодарили: 2208 раз в 1723 постах
да, по документации - сначала проверить подпись, получить значение.
В указанном коде - выполнено условие.

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#5 Оставлено : 13 сентября 2024 г. 12:03:34(UTC)
Андрей *

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

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

Сказал «Спасибо»: 549 раз
Поблагодарили: 2208 раз в 1723 постах
Приложить можете пример тестового файла и ЭП к нему, которая вызывает проблему?

скрепка в меню при написании сообщения или в ЛС ссылку на архив.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#6 Оставлено : 13 сентября 2024 г. 12:22:28(UTC)
Андрей *

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

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

Сказал «Спасибо»: 549 раз
Поблагодарили: 2208 раз в 1723 постах
в signature в серверном коде (не вижу код) - что?
Отсоединенная или присоединенная подпись?
Техническую поддержку оказываем тут
Наша база знаний
Offline GTAlex  
#7 Оставлено : 13 сентября 2024 г. 12:27:55(UTC)
GTAlex

Статус: Активный участник

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

Сказал(а) «Спасибо»: 66 раз
Поблагодарили: 1 раз в 1 постах
Автор: Андрей * Перейти к цитате
Приложить можете пример тестового файла и ЭП к нему, которая вызывает проблему?

скрепка в меню при написании сообщения или в ЛС ссылку на архив.


test.txt.sig (3kb) загружен 1 раз(а). test.txt (1kb) загружен 1 раз(а).

Приложил

Отредактировано пользователем 13 сентября 2024 г. 12:37:36(UTC)  | Причина: Не указана

Offline GTAlex  
#8 Оставлено : 13 сентября 2024 г. 12:37:23(UTC)
GTAlex

Статус: Активный участник

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

Сказал(а) «Спасибо»: 66 раз
Поблагодарили: 1 раз в 1 постах
Автор: Андрей * Перейти к цитате
в signature в серверном коде (не вижу код) - что?
Отсоединенная или присоединенная подпись?


Отсоединенная подпись
Offline Андрей *  
#9 Оставлено : 13 сентября 2024 г. 12:39:56(UTC)
Андрей *

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

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

Сказал «Спасибо»: 549 раз
Поблагодарили: 2208 раз в 1723 постах
Автор: GTAlex Перейти к цитате
Автор: Андрей * Перейти к цитате
в signature в серверном коде (не вижу код) - что?
Отсоединенная или присоединенная подпись?


Отсоединенная подпись


а почему тогда не передаётся подписанный контент?

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#10 Оставлено : 13 сентября 2024 г. 12:40:58(UTC)
Андрей *

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

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

Сказал «Спасибо»: 549 раз
Поблагодарили: 2208 раз в 1723 постах
с ЭП всё в порядке, cades bes, 13.09.2024 08:40:12.


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