Статус: Активный участник
Группы: Участники
Зарегистрирован: 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.
Куда копать ума не приложу
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,320 Сказал «Спасибо»: 549 раз Поблагодарили: 2207 раз в 1722 постах
|
Здравствуйте. Цитата: $cpSigner->get_SigningTime() вываливается по исключению Cannot find object or property.\n (0x80092004)
цепочка рассуждений: Т.е. после подписания - свойство не заполнено. После проверки (этого же файла) - свойство заполнено? Выводы? SigningTime - по документации - вызывать когда можно? При проверке ЭП? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,320 Сказал «Спасибо»: 549 раз Поблагодарили: 2207 раз в 1722 постах
|
да, по документации - сначала проверить подпись, получить значение. В указанном коде - выполнено условие.
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,320 Сказал «Спасибо»: 549 раз Поблагодарили: 2207 раз в 1722 постах
|
Приложить можете пример тестового файла и ЭП к нему, которая вызывает проблему?
скрепка в меню при написании сообщения или в ЛС ссылку на архив. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,320 Сказал «Спасибо»: 549 раз Поблагодарили: 2207 раз в 1722 постах
|
в signature в серверном коде (не вижу код) - что? Отсоединенная или присоединенная подпись? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.12.2021(UTC) Сообщений: 171 Откуда: Нск Сказал(а) «Спасибо»: 66 раз Поблагодарили: 1 раз в 1 постах
|
Автор: Андрей * Приложить можете пример тестового файла и ЭП к нему, которая вызывает проблему?
скрепка в меню при написании сообщения или в ЛС ссылку на архив. test.txt.sig (3kb) загружен 1 раз(а). test.txt (1kb) загружен 1 раз(а).Приложил Отредактировано пользователем 13 сентября 2024 г. 12:37:36(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.12.2021(UTC) Сообщений: 171 Откуда: Нск Сказал(а) «Спасибо»: 66 раз Поблагодарили: 1 раз в 1 постах
|
Автор: Андрей * в signature в серверном коде (не вижу код) - что? Отсоединенная или присоединенная подпись? Отсоединенная подпись
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,320 Сказал «Спасибо»: 549 раз Поблагодарили: 2207 раз в 1722 постах
|
Автор: GTAlex Автор: Андрей * в signature в серверном коде (не вижу код) - что? Отсоединенная или присоединенная подпись? Отсоединенная подпись а почему тогда не передаётся подписанный контент? |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,320 Сказал «Спасибо»: 549 раз Поблагодарили: 2207 раз в 1722 постах
|
с ЭП всё в порядке, cades bes, 13.09.2024 08:40:12.
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close