logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Fridz55  
#1 Оставлено : 14 декабря 2017 г. 18:42:00(UTC)
Fridz55

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

Группы: Участники
Зарегистрирован: 17.05.2017(UTC)
Сообщений: 14

Сказал(а) «Спасибо»: 3 раз
Добрый день. Подскажите пожалуйста, как выполнить проверку на стороне сервера, c использованием расширения для PHP, каждой подписи, при подписание документа параллельными подписямии?
Есть файл подписи с несколькими подписантами, стоит задача верифицировать каждую подпись как по математической составляющей так и проверка на сертификаты.

К примеру, если делаю проверку через $CPSignedData->VerifyHash(), то выдодится сразу ОБЩАЯ ошибка, что одна из подписей неверна. А мне нужно информацию получить по каждой подписи:

- Верна ли подпись
- Статус сертификата

Отредактировано пользователем 14 декабря 2017 г. 21:56:08(UTC)  | Причина: Не указана

Offline cross  
#2 Оставлено : 18 декабря 2017 г. 11:06:01(UTC)
cross


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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 770
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 126 раз в 116 постах
При проверке можно перехватить исключение, получить список подписантов и у них проверить CadesSignedData.Signers(i).SignatureStatus.IsValid.
Из обьекта Signer так же можно получить сертификат, и дальше проверять его статус отдельно.
Анатолий Беляев (cross на cryptopro.ru)
Offline Fridz55  
#3 Оставлено : 18 декабря 2017 г. 17:34:25(UTC)
Fridz55

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

Группы: Участники
Зарегистрирован: 17.05.2017(UTC)
Сообщений: 14

Сказал(а) «Спасибо»: 3 раз
Была перехвачена ошибка и получил список подписантов. Дальше прохожу по списку подписантов и получаю объект сертификата, вызываю метод isValid() и он мне выдает 1 или 0 в зависимости от его статуса - с этим все понятно, работает.
А как поулчить в php статус SignatureStatus каждой подписи? Не нашел в расширение этот класс, он не реализован?
Offline cross  
#4 Оставлено : 18 декабря 2017 г. 17:57:59(UTC)
cross


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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 770
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 126 раз в 116 постах
Да, про него забыли. В ближайшее время сделаю реализацию и выложу вам файлик.
Анатолий Беляев (cross на cryptopro.ru)
Offline Fridz55  
#5 Оставлено : 18 декабря 2017 г. 18:01:46(UTC)
Fridz55

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

Группы: Участники
Зарегистрирован: 17.05.2017(UTC)
Сообщений: 14

Сказал(а) «Спасибо»: 3 раз
То есть на данный момент проверить математическое схождение(SignatureStatus) подписи расширением для php нельзя?
Подскажите, куда смотреть, чтобы не пропустить релиз класса?)
Offline cross  
#6 Оставлено : 18 декабря 2017 г. 18:03:24(UTC)
cross


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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 770
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 126 раз в 116 постах
В этой ветке выложу.
Анатолий Беляев (cross на cryptopro.ru)
thanks 1 пользователь поблагодарил cross за этот пост.
Fridz55 оставлено 18.12.2017(UTC)
Offline cross  
#7 Оставлено : 19 декабря 2017 г. 12:16:42(UTC)
cross


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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 770
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 126 раз в 116 постах
signature_status.zip (5kb) загружен 5 раз(а).
В архиве файлики с реализацией SignatureStatus. Файлы из архива нужно кинуть в папку с расширением и пересобрать. Архив сделан для php7.
Анатолий Беляев (cross на cryptopro.ru)
Offline Fridz55  
#8 Оставлено : 20 декабря 2017 г. 17:04:31(UTC)
Fridz55

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

Группы: Участники
Зарегистрирован: 17.05.2017(UTC)
Сообщений: 14

Сказал(а) «Спасибо»: 3 раз
Попробовали пересобрать расширение, список ошибок в прикрепленном файле.
Версия php 5.6

skrin-fayli.png (6kb) загружен 8 раз(а). skrin-log.png (105kb) загружен 12 раз(а).
Offline cross  
#9 Оставлено : 21 декабря 2017 г. 10:39:57(UTC)
cross


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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 770
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 126 раз в 116 постах
новые файлы только для php7, Если нужно для 5.6 то или самим по аналогии с патчем переделать или ждать января, только тогда руки дойдут глянуть на них. В последующих версиях SDK уже не будет поддержки PHP 5.6 скорее всего.

Отредактировано пользователем 21 декабря 2017 г. 10:41:19(UTC)  | Причина: Не указана

Анатолий Беляев (cross на cryptopro.ru)
Offline Fridz55  
#10 Оставлено : 21 декабря 2017 г. 15:41:49(UTC)
Fridz55

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

Группы: Участники
Зарегистрирован: 17.05.2017(UTC)
Сообщений: 14

Сказал(а) «Спасибо»: 3 раз
Большая к вам просьба выпустить так же релиз файликов и для php 5.6 в январе, подождем. Перевести проект на 7 версию станет возможным только позже
Offline cross  
#11 Оставлено : 10 января 2018 г. 16:42:04(UTC)
cross


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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 770
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 126 раз в 116 постах
патч для php5. Не проверял, но вроде как должно сработать. signature_status_php5.patch.zip (3kb) загружен 1 раз(а).
Анатолий Беляев (cross на cryptopro.ru)
thanks 1 пользователь поблагодарил cross за этот пост.
Fridz55 оставлено 11.01.2018(UTC)
Offline Fridz55  
#12 Оставлено : 11 января 2018 г. 13:39:13(UTC)
Fridz55

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

Группы: Участники
Зарегистрирован: 17.05.2017(UTC)
Сообщений: 14

Сказал(а) «Спасибо»: 3 раз
Спасибо большое!
Offline Fridz55  
#13 Оставлено : 12 января 2018 г. 15:59:51(UTC)
Fridz55

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

Группы: Участники
Зарегистрирован: 17.05.2017(UTC)
Сообщений: 14

Сказал(а) «Спасибо»: 3 раз
Добрый день. Проект перевели на php 7.0 и установили расширение для этой версии, который вы скинули.

Все функции расширения, которыми пользоватлись до этого работают, а вот при вызове get_SignatureStatus() выдается ошибка 502 Bad Gateway nginx.
В логах nginx пишет "... upstream prematurely closed connection while reading response header from upstream ..."
В чем может быть проблема?
Offline cross  
#14 Оставлено : 18 января 2018 г. 18:35:02(UTC)
cross


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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 770
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 126 раз в 116 постах
в файл dllmain.cpp нужно добавить хедер PHPCadesSignatureStatus.h и после строки symmetric_algorithm_init(TSRMLS_C); добавить строку
signature_status_init(TSRMLS_C);
Анатолий Беляев (cross на cryptopro.ru)
thanks 1 пользователь поблагодарил cross за этот пост.
Fridz55 оставлено 19.01.2018(UTC)
Offline Fridz55  
#15 Оставлено : 19 января 2018 г. 16:44:28(UTC)
Fridz55

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

Группы: Участники
Зарегистрирован: 17.05.2017(UTC)
Сообщений: 14

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