GitHub — taigasys/CryptoProCSP: Контейнер с установленным и запущенным КриптоПро CSP 4 и скомпилированным плагином PHP.

GitHub - taigasys/CryptoProCSP: Контейнер с установленным и запущенным КриптоПро CSP 4 и скомпилированным плагином PHP. ЭЦП

Описание api

Для проверки открепленной подписи шлем пост запрос на /vsignf.phpС двума параметрами:

  • hash — Хеш документа по GOST`у
  • sign — подпись

В ответ прилетит json:Если ошибка до проверки сертификата:

Если проверка прошла:

{
    "status":0, // 0 - все хорошо
    "data":{
        "verify":0, // Проверка 1 - пройдена подпись валидна, 0 - не пройдена подпсись не валидна  
        "verifyMessage":"сообщение об рошибки с кодом (0x800B010A)",
        "signers":[ // подписанты
            {
                "signingTime":"", //дата подписания
                "cert":{ // данные сертификата подписи
                    "validToDate":"16.05.2022 11:56:29", // Валиден до
                    "validFromDate":"16.02.2022 11:46:29",  // Валиден от
                    "subjectName":{ // Данные подписанта
                        "C":"RU",
                        "CN":"Test"
                    },
                    "issuerName":{// Данные УЦ выдавшего сертификат
                        "CN":"CRYPTO-PRO Test Center 2",
                        "O":"CRYPTO-PRO LLC",
                        "L":"Moscow",
                        "C":"RU",
                        "E":"support@cryptopro.ru"
                    },
                    "certSerial":"120025DA...00025DAA0" // Серийный сертификата
                }
            }
        ]
    }
}

Верификация

Класс CryptoHelper содержит несколько методов верификации данных:

МетодАргументыОписание
Verify(string $data, $toBase64 = true)Верификация строки
VerifyFile(string $dataFilePath, $string $signFilePath = null)Верификация файлов

Зачем это нужно

Данный контейнер не претендует на истину в последней инстанции.Является больше пособием для развертывания CryptoPro CSP 4 в среде Linux:UbuntuДля продакшена его можно и нужно допиливать.

Использование

Полный пример использования можно посмотреть на странице examples/index.php.

Перед использованием

Перед использованием Crypto-PHP необходимо произвести установку КриптоПРО CSP и скомпилировать расширение libphpcades для вашей версии PHP.

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

Более подробно описано в инструкции по установке.

Подписание

Класс CryptoHelper содержит несколько методов подписания данных:

МетодАргументыОписание
Sign(CryptoСertificate, string $data, $toBase64 = true)Подписание строки
SignFile(CryptoСertificate, string $dataFilePath, $string $signFilePath = null)Подписание файла и сохранение в файл $signFilePath (если указан)

Получение сертификатов

Их хранилища пользователя запрашиваются только активные и валидные сертификаты.

Установка

Предполагается что у вас установлен Docker.

Оцените статью
ЭЦП64
Добавить комментарий