Download the PHP package mikhailovlab/crypto-pro-builder without Composer
On this page you can find all versions of the php package mikhailovlab/crypto-pro-builder. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mikhailovlab/crypto-pro-builder
More information about mikhailovlab/crypto-pro-builder
Files in mikhailovlab/crypto-pro-builder
Package crypto-pro-builder
Short Description Библиотека для работы с КриптоПро через CLI, позволяет гибко строить команды через цепочки вызовов, использовать динамические методы и адаптировать функционал под свои нужды.
License MIT
Informations about the package crypto-pro-builder
CryptoProBuilder
CryptoProBuilder — это PHP-библиотека, предоставляющая удобный интерфейс для взаимодействия с утилитами КриптоПро CSP (csptest, cryptcp, cpverify, certmgr). Она позволяет программно выполнять криптографические операции, такие как подписание, шифрование, хеширование, управление контейнерами и сертификатами, а также парсить вывод консольных утилит для получения структурированных результатов.
Особенности
-
Текучий интерфейс (Fluent Interface): Выполняйте команды в интуитивно понятном, читаемом стиле.
-
Динамические методы: Автоматически вызывайте команды csptest, cryptcp, cpverify, certmgr как методы класса.
-
Парсинг вывода: Используйте предопределенные или пользовательские регулярные выражения для извлечения данных из стандартного вывода утилит.
-
Обработка ошибок: Автоматическая идентификация и обработка ошибок выполнения команд с кодами ошибок КриптоПро.
- Управление кодировкой: Возможность настройки кодировки для корректной работы с кириллицей в консоли.
Требования
-
PHP 8.0 или выше.
-
Установленный КриптоПро CSP - включая консольные утилиты csptest, cryptcp, cpverify, certmgr.
- mikhailovlab/php-fluent-console - данная библиотека используется для запуска консольных команд и является зависимостью.
Установка
- Важное замечание: Убедитесь, что исполняемые файлы КриптоПро (например, csptest, cryptcp, cpverify и certmgr - обычно идут в комплекте с дистрибутивом КриптоПро) доступны в переменной окружения PATH вашего сервера или укажите полный путь к ним при инициализации класса CryptoPro.
Обзор методов и возможностей
Библиотека CryptoProBuilder предоставляет набор интуитивно понятных методов, которые соответствуют основным операциям консольных утилит КриптоПро. Благодаря текучему интерфейсу, вы можете легко строить цепочки команд, делая ваш код читаемым и лаконичным.
Свойства
Вам необязательно знать их все, но это может быть полезно на случай разработки своих собственных методов.
Инстанс ConsoleRunner для выполнения команд.
Коллекция предопределенных паттернов для парсинга вывода команд.
Текущий активный паттерн(ы) для парсинга вывода.
Ожидаемые поля для структурированного вывода.
Флаг, указывающий, нужно ли структурировать выходные данные.
Массив доступных команд/методов, которые могут быть вызваны динамически.
Методы
Инициализирует ConsoleRunner с указанной командой. По умолчанию установлен 'csptest'.
Динамический вызов методов, соответствующих командам в $this->methods.
Регистрирует пользовательские методы, добавляя их к существующему списку.
Обертка для добавления произвольного аргумента/ключа к команде.
Выводит список всех доступных контейнеров.
Проверяет целостность контейнера и подготавливает вывод результатов.
Меняет пароль контейнера.
Копирует контейнер.
Удаляет контейнер.
Возвращает хэш файла, для подписания, например.
Проверяет хэш.
Подписывает файл.
Проверяет подпись файла.
Шифрует файл.
Расшифровывает файл.
Устанавливает сертификат из файла или контейнера.
Выводит список сертификатов.
Выводит сертификат по отпечатку.
Удаляет сертификат.
Пробрасывает кодировку в ConsoleRunner (Для парсинга кириллицы).
Устанавливает флаг для ConsoleRunner для возврата к исходной кодировке (если вывод осуществляется в консоль).
Устанавливает паттерны и ожидаемые поля для парсинга вывода из массива $patterns.
Устанавливает флаг для структурирования выходных данных.
Добавляет пользовательские паттерны регулярных выражений к исходному массиву $patterns.
Структурирует плоский массив совпадений в ассоциативный массив на основе заданных полей.
Выводит сгенерированную строку команды и завершает выполнение скрипта.
Запускает выполнение команды и обрабатывает результат.
Обрабатывает успешное выполнение команды, парсит вывод и возвращает его.
Обрабатывает ошибку выполнения команды, извлекая код ошибки.
Примеры использования
Для работы с библиотекой нам необязательно погружаться в документацию, мы можем использовать шаблонные решения.
По стандартной схеме, тестировать будем с использованием фреймворка Laravel 11, на операционной системе windows 10. Вы можете использовать любую другую конфигурацию (фреймворк, ОС и т.д.), главное — обеспечить корректную установку и доступность утилит КриптоПро.