Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ega22a/custom-crt-chain
Сервис (сервер и клиент) для регистрации и внедрения ЭДО неквалифицированными подписями.
https://github.com/ega22a/custom-crt-chain
ini json-api mysql openssl php sql x509 x509certificates x509chain
Last synced: 20 days ago
JSON representation
Сервис (сервер и клиент) для регистрации и внедрения ЭДО неквалифицированными подписями.
- Host: GitHub
- URL: https://github.com/ega22a/custom-crt-chain
- Owner: ega22a
- License: apache-2.0
- Created: 2021-04-13T11:19:45.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-09-04T13:22:45.000Z (over 3 years ago)
- Last Synced: 2024-11-12T18:35:22.599Z (3 months ago)
- Topics: ini, json-api, mysql, openssl, php, sql, x509, x509certificates, x509chain
- Language: PHP
- Homepage: https://sarcasmteam.ru/projects/custiom-crt-chain
- Size: 556 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> _Все коммиты от [@porenti](https://github.com/porenti "@porenti") - не его!_
# Custom CRT chain
> **Для того, чтобы использовать этот метод электронного документооборота, должно быть выпущено соответсвующее Положение о внутреннем электронном документообороте с использованием неквалифицированных электронных подписей! Пример Положения в вики.**Серверное API для создания самостоятельной зоны выдачи сертификатов для подписи документов. Согласно российскому законодательству, генерируемые подписи являются *неквалифицированными электронными подписями*.
## Установка API на сервер
Для того, чтобы установить API на ваш сервер, вам нужно, чтобы на вашем сервере были установлены:
- Apache2 **с включеным mod_rewrite** (*Nginx тоже можно, но на нем не тестируется*);
- MySQL (*или PostgreSQL, но это на ваш вкус*);
- PHP 7.\* или 8.\* с модулями:
- php-json;
- php-mbstring;
- php-gd;
- php-openssl.Скачайте сервер и распакуйте его в необходимую директорию (желательно туда, где будет запущен **домен третьего уровня или второго**).
Также, нужно создать директорию, в которой будут храниться все подписи. **У этой директории должны быть права доступа только серверу**. После того, как был распакован сервер, нужно зайти в директорию `configurations/` и переименовать файл `const.original.ini` в `const.ini`. В этом файле нужно задать `passphrase` для того, чтобы впервые запустить систему. Пример файла `const.ini` на момент установки системы:
```
[first_start]
is_first_start = true
passphrase = null
```После того, как вы задали `passphrase`, нужно сделать запрос. Пример запроса:
```bash
curl --location --request POST 'https://example.com/api/admin/execute' \
--form 'passphrase="some_passphrase"' \
--form 'lastname="Иванов"' \
--form 'firstname="Иван"' \
--form 'patronymic="Иванович"' \
--form 'countryName="RU"' \
--form 'stateOrProvinceName="Свердловская область"' \
--form 'localityName="Нижний Тагил"' \
--form 'organizationName="Sarcasm Team"' \
--form 'organizationalUnitName="Отдел разработки и сопровождения"' \
--form 'email="[email protected]"' \
--form 'db_host="localhost"' \
--form 'db_login="login"' \
--form 'db_password="password"' \
--form 'db_name="db_name"' \
--form 'folder_path="/path/to/folder"'
```
После удачного отправления запроса, сервер ответит JSON-объектом, в котором будут данные для входа администратора. Пример ответа:
```json
{
"status": "OK",
"admin": {
"email": "[email protected]",
"password": "some_password"
},
"message": "ROOT_ZONE_IS_NOT_SET"
}
```
В дальнейшем сервер всегда будет отвечать JSON-объектами (не касается скачивания файлов). Дальнейшая информация о работе сервера в вики.