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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Slavenin  
#1 Оставлено : 1 августа 2018 г. 21:27:19(UTC)
Slavenin

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

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

Сказал(а) «Спасибо»: 1 раз
Собственно сабж.
ОС
Код:
uname -a
Linux dev.**** 3.10.0-514.10.2.el7.x86_64 #1 SMP Mon Feb 20 02:37:52 EST 2017 x86_64 x86_64 x86_64 GNU/Linux
->| cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.3 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="7.3"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.3 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.3:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.3
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.3"

Надо на сервере проверять валидность отсоединенной подписи файла любого уц, даже если не установлен его сертификат. Это вообще возможно?
Offline Андрей Писарев  
#2 Оставлено : 1 августа 2018 г. 21:41:59(UTC)
Андрей *

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

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

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

Можно проверять математическую корректность ЭП,
тогда сертификат УЦ (цепочка сертификатор) не нужен,
только сертификат подписанта, который обычно включен в CMS.

Проверять планируется каким образом?
Запуском утилит или программное взаимодействие с криптопровайдером?
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#3 Оставлено : 1 августа 2018 г. 22:00:02(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2049 раз в 1589 постах
Цитата:

cryptcp -verify file.xml -f file.xml.sgn -detached -nochain



file.xml - исходный файл
file.xml.sgn - файл с отсоединенной ЭП
-f - указывает на необходимость поиска сертификата внутри файла с ЭП
-nochain - не проверять цепочку
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#4 Оставлено : 1 августа 2018 г. 22:01:04(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2049 раз в 1589 постах
Подробности в Руководстве по использованию cryptcp

https://www.cryptopro.ru/products/other/cryptcp
Техническую поддержку оказываем тут
Наша база знаний
Offline Slavenin  
#5 Оставлено : 2 августа 2018 г. 9:04:20(UTC)
Slavenin

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

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

Сказал(а) «Спасибо»: 1 раз
Проверка происходит через функцию:

Код:
public function verify($sgn, $data)
    {
        $data = base64_encode($data);

        try
        {
            $sd = new \CPSignedData();

            $sd->set_ContentEncoding(BASE64_TO_BINARY);
            $sd->set_Content($data);
            $sd->VerifyCades($sgn, CADES_BES, 1);
            return true;

        }
        catch(\Exception $e)
        {
           ;
        }

        return false;
    }


Как в ней отключить проверку сертификатов я не нашёл. Использовать просто Verify не удаётся подробности здесь
В итоге если нет сертификата то получается internal error
Offline Андрей Писарев  
#6 Оставлено : 2 августа 2018 г. 9:52:37(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2049 раз в 1589 постах
Цитата:
Exception :'Ошибка 0x80091004: Invalid cryptographic message type


Вы анализировали, что передаете в функцию? Прислать в ЛС можете или на любом корректном файле и ЭП такое?


Цитата:

$check = $sd->Verify($sgn, true, VERIFY_SIGNATURE_AND_CERTIFICATE); // 1 - отсоединенная


Заменить на CAPICOM_VERIFY_SIGNATURE_ONLY - тогда сертификаты не будут проверяться.
Техническую поддержку оказываем тут
Наша база знаний
Offline Slavenin  
#7 Оставлено : 2 августа 2018 г. 10:01:43(UTC)
Slavenin

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

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

Сказал(а) «Спасибо»: 1 раз
Автор: Андрей Писарев Перейти к цитате
Цитата:
Exception :'Ошибка 0x80091004: Invalid cryptographic message type


Вы анализировали, что передаете в функцию? Прислать в ЛС можете или на любом корректном файле и ЭП такое?


Цитата:

$check = $sd->Verify($sgn, true, VERIFY_SIGNATURE_AND_CERTIFICATE); // 1 - отсоединенная


Заменить на CAPICOM_VERIFY_SIGNATURE_ONLY - тогда сертификаты не будут проверяться.


При одинаковых файлах верификация в консоли
Код:
/opt/cprocsp/bin/amd64/cryptcp -vsignf -mroot test.txt -f test.txt.sgn

и через
Код:
$sd->VerifyCades($sgn, CADES_BES, 1);

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