You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.7 KiB
3.7 KiB
API Документация для CertCenter (POST-запросы, поддержка JSON)
Базовый адрес: http://127.0.0.1:4567
1. Получение токена
curl -X POST http://127.0.0.1:4567/api/v1/login \
-H "Content-Type: application/json" \
-d '{"login":"admin","password":"admin"}'
Ответ
{ "error": null, "content": { "token": "<JWT>" } }Сохраняйте значение
tokenдля последующих запросов.
2. Список серверных сертификатов
curl -X POST http://127.0.0.1:4567/api/v1/servers \
-H "Content-Type: application/json" \
-d '{"token":"<JWT>"}'
3. Список клиентских сертификатов
curl -X POST http://127.0.0.1:4567/api/v1/clients \
-H "Content-Type: application/json" \
-d '{"token":"<JWT>"}'
4. Детальная информация о сертификате
curl -X POST http://127.0.0.1:4567/api/v1/certinfo/123 \
-H "Content-Type: application/json" \
-d '{"token":"<JWT>"}'
5. Детальная информация о корневом сертификате центра сертификации
curl -X POST http://127.0.0.1:4567/api/v1/root \
-H "Content-Type: application/json" \
-d '{"token":"<JWT>"}'
6. Отзыв сертификата
curl -X POST http://127.0.0.1:4567/api/v1/revoke/123 \
-H "Content-Type: application/json" \
-d '{"token":"<JWT>"}'
7. Добавление клиентского сертификата
curl -X POST http://127.0.0.1:4567/api/v1/addclient \
-H "Content-Type: application/json" \
-d '{"token":"<JWT>","server_domain":"example.com","client":"client1"}'
8. Добавление серверного сертификата
curl -X POST http://127.0.0.1:4567/api/v1/addserver \
-H "Content-Type: application/json" \
-d '{"token":"<JWT>","domains":"example.com,example.org","validity_days":365}'
9. Список пользователей (admin)
curl -X POST http://127.0.0.1:4567/api/v1/ulist \
-H "Content-Type: application/json" \
-d '{"token":"<JWT>"}'
10. Удаление пользователя
curl -X POST http://127.0.0.1:4567/api/v1/deleteuser/42 \
-H "Content-Type: application/json" \
-d '{"token":"<JWT>"}'
11. Создание пользователя
curl -X POST http://127.0.0.1:4567/api/v1/adduser \
-H "Content-Type: application/json" \
-d '{"token":"<JWT>","login":"jane","password":"secret","email":"jane@example.com","role":1}'
12. Редактирование пользователя
curl -X POST http://127.0.0.1:4567/api/v1/edituser/42 \
-H "Content-Type: application/json" \
-d '{"token":"<JWT>","login":"jane","password":"newpass","role":2}'
13. Установка и подготовка структуры центра сертификации
curl -X POST http://127.0.0.1:4567/api/v1/install \
-H "Content-Type: application/json" \
-d '{"cert-path":"/tmp","org-name":"neworg","common-name":"name","cert-password":"pass","country-name": "RU", "validity-days":"3650"}'
14. Обработка ошибок
Если сервер возвращает статус 400, то это ошибка синтаксиса JSON:
{ "error": "Invalid JSON", "content": null }
Если токен недействителен или истёк, будет:
{ "error": "Токен устарел", "content": null }
При других ошибках сервер выдаёт { "error": "...", "content": "..." } в формате JSON.