An open API service indexing awesome lists of open source software.

https://github.com/kilylabs/true-api-cli

Консольная утилита для работы с маркировкой Честный Знак (TRUE API, СУЗ API, API ГИС МТ) на PHP
https://github.com/kilylabs/true-api-cli

api php

Last synced: 5 months ago
JSON representation

Консольная утилита для работы с маркировкой Честный Знак (TRUE API, СУЗ API, API ГИС МТ) на PHP

Awesome Lists containing this project

README

          

TRUE API CLI TOOLS
==========

Неофициальная консольная утилита, написанная на PHP, для работы с системой Честный Знак.

Краткий обзор
--------

Утилита позволяет просматривать и манипулировать данными системы [Честный Знак](https://xn--80ajghhoc2aj1c8b.xn--p1ai/) посредством набора официальных API:
* [TRUE API](https://честныйзнак.рф/upload/TRUE_API.pdf)
* [API ГИС МТ](https://xn--80ajghhoc2aj1c8b.xn--p1ai/upload/%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5+API+%D0%93%D0%98%D0%A1%D0%9C%D0%A2.pdf)
* [СУЗ API](https://suzgrid.crpt.ru/swagger-ui.html)

Зависимости
------------

- PHP 7.4+
- КриптоПРО CSP 5+
- libphpcades (является частью КриптоПРО CSP SDK)
- Действуйщий сертификат Усиленной Квалифицированной Электронной Подписи (УКЭП)

Установка
--------------------

Установка через composer:

```
composer require kilylabs/true-api-cli
```

***Установка КриптоПРО CSP 5+***

Скачать можно [отсюда](https://www.cryptopro.ru/system/files/private/csp/50/11455/linux-amd64_deb.tgz) (требуется авторизация). Вроде как в данном ПО есть бесплатный период использования, но у меня он толком не заработал. Поэтому пришлось купить официальную лицензию [здесь](https://www.cryptopro.ru/order/?online=true) (лучше брать пожизненную лицензию "Лицензия на обновление СКЗИ "КриптоПро CSP" до версии 5.0 на одном рабочем месте с доступом на портал технической поддержки" - она не на много дороже, чем годовая подписка).

Установка хорошо описана в статье: https://estp.ru/test_eds/csp_setup_linux/ (описание подходит для версии 5).

После установки, нужно установить сертификат: https://estp.ru/test_eds/cert_install_linux/

Чтобы не быть привязанным к флешке, скопируйте папку с сертификатом УКЭП в папку:
```
cp -r /media/flash/cert.000 /var/opt/cprocsp/keys/имя_пользователя/
```

А после, установите сертификат командой:
```
/opt/cprocsp/bin/amd64/csptestf -absorb -certs
```

***Установка libphpcades***

Процедура установки описана [здесь](http://cpdn.cryptopro.ru/content/cades/phpcades-install.html)... но для PHP7 это работать на будет ) Чтобы сделать это всё работоспособным для PHP7+, нужно установить [патч](https://github.com/kilylabs/true-api-cli/tree/master/contrib/php7_support.patch). Полная процедура установки расширения примерно такая:

1) Скачиваем спец. версию cprocsp-devel пакета
```shell
wget https://www.cryptopro.ru/sites/default/files/public/faq/csp/csp5devel.tgz
tar xvzf csp5devel.tgz
cd csp5devel
dpkg -i lsb-cprocsp-devel_5.0.11863-5_all.deb
```

2) Качаем и устанавливаем КриптоПРО CADES
```shell
mkdir cades
wget https://www.cryptopro.ru/sites/default/files/products/cades/current_release_2_0/cades-linux-amd64.tar.gz -O cades/cades-linux-amd64.tar.gz
cd cades
tar xvzf cades-linux-amd64.tar.gz
dpkg -i cprocsp-pki-phpcades-64_2.0.14458-1_amd64.deb cprocsp-pki-cades-64_2.0.14458-1_amd64.deb
```

3) Применяем специальный патч для поддержки PHP7+
```shell
cp ../true-api-cli/contrib/php7_support.patch /opt/cprocsp/src/phpcades/
cd /opt/cprocsp/src/phpcades/
patch