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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Malerika  
#1 Оставлено : 21 ноября 2023 г. 14:15:38(UTC)
Malerika

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.11.2023(UTC)
Сообщений: 8
Откуда: г Химки

Добрый день. Очень прошу помочь знаниями или направлением где почитать (в угл не гоните, там не нашли ничего) =)

Есть проект, внутри которого мы реализуем подписание документа ЭЦП и передаем документ на проверку в федеральные сервисы.
Сейчас столкнулись с задачей, кода нужно документ подписывать на сервере и потом сделать обратную задачу и получить информацию из Открепленной подписи

т.е. нам нужен либо алгоритм, либо sdk, чтобы передать в нее строку bsae64 подписи и на выходе получить инфу

или хотя бы информация, каким способом можно ее самим разобрать (именно про открепелнную подпись)

Предполагаем, что есть какой то алгоритм разбора данных (без валидации)

Где можно найти информацию о том, как это можно сделать?
Offline Андрей *  
#2 Оставлено : 21 ноября 2023 г. 14:41:43(UTC)
Андрей *

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

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

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

https://docs.cryptopro.ru/cades/

Какой язык программирования?
В целом, без валидации ЭП, можно получить так (php, набросок)

Цитата:

try
$SignedData = new \CPSignedData();
$SignedData->set_ContentEncoding(BASE64_TO_BINARY);
$SignedData->set_Content($data); $data - закодированные в base64 произвольные данные (можно 1 байт)
$SignedData->VerifyCades($sgn, 0x01, $detached); в sgn - отсоединенная ЭП
catch(Exception $e)
читаем информацию о сертификате подписанта...

$signObject = $SignedData->get_Signers();
$sObj = $signObject->get_Item(1);
$cert = $sObj->get_Certificate(); // https://docs.microsoft.c...cate?redirectedfrom=MSDN
$issuerName = $cert->get_IssuerName();
$fromDate = $cert->get_ValidFromDate();
$toDate = $cert->get_ValidToDate();
$serialNumber = $cert->get_SerialNumber();
$subjectName = $cert->get_SubjectName();
$thumbPrint = $cert->get_Thumbprint();




Техническую поддержку оказываем тут
Наша база знаний
Offline Malerika  
#3 Оставлено : 21 ноября 2023 г. 14:46:41(UTC)
Malerika

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.11.2023(UTC)
Сообщений: 8
Откуда: г Химки

Спасибо, мы на php
Можете ли дать ссылку на сдк, который используется в примере кода?
https://docs.cryptopro.r...hpcades/phpcades-install здесь инфа, верно?

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

Offline Андрей *  
#4 Оставлено : 21 ноября 2023 г. 14:52:57(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
Автор: Malerika Перейти к цитате
Спасибо, мы на php
Можете ли дать ссылку на сдк, который используется в примере кода?
https://docs.cryptopro.r...hpcades/phpcades-install здесь инфа, верно?


да, верно, API общее -можно в примерах на JS смотреть тоже, используя объекты\методы, но с учётом синтаксиса php
Техническую поддержку оказываем тут
Наша база знаний
Offline Malerika  
#5 Оставлено : 21 ноября 2023 г. 14:58:33(UTC)
Malerika

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.11.2023(UTC)
Сообщений: 8
Откуда: г Химки

Есть ли какой-то простой вариант =)
Сейчас у нас все собрано так, что если идти четко по инструкции, то придется пхп пересоибрать, это будет боль большая
Хотелось бы просто либу (если она есть), чтобы можно было просто подключить, чтобы работало

Если выше - единственный вариант, то у нас процесс усложняется: сначала в докере пытаться это как то собирать потом на проде (нужно бинарники пересобирать)

И сразу вдогонку вопрос, если все таки придется идти по длинному пути, если будем ставить расширение, нужно ли будет платить за это, нужны ли лицензии?

Offline Андрей *  
#6 Оставлено : 21 ноября 2023 г. 21:54:47(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
варианты:
а) phpcades - собрать\прописать настройки, перенести на прод (версии те же, какие?) и использовать в php по документации
б) использовать вызов консольных утилит (cryptcp), но это не вариант (формат вывода парсить)...
либо написать свою утилиту и вывод в нужном формате результатов для php.

расширение бесплатно, как и сама проверка в csp не требует наличия лицензии.
Техническую поддержку оказываем тут
Наша база знаний
Offline Malerika  
#7 Оставлено : 22 ноября 2023 г. 9:09:03(UTC)
Malerika

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.11.2023(UTC)
Сообщений: 8
Откуда: г Химки

Спасибо.
Скажите, пожалуйста, есть ли у вас возможность поделиться алгоритмом, как ее парсить, чтобы мы сами реализацию написали?
Если алгоритм не сложный, то это бы сильно упростило задачу )

Offline Malerika  
#8 Оставлено : 26 февраля 2024 г. 16:07:05(UTC)
Malerika

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.11.2023(UTC)
Сообщений: 8
Откуда: г Химки

Коллеги, добрый день.
Вопрос.
Есть ли собранный docker контейнера с php8.2 ?

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