key-vault/README.md

55 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Сервер-менеджер для ключей.
### Этот сервер может понадобиться в разработке безопасного api, авторизации и аутентификации.
### Ключевые особенности:
- Авторотация ключей (с возможностью указать интервал обновления)
- Генерация ключей (пока нельзя свой вставить и навсегда)
- Идеален для JWT и задач криптографии.
- Плавная ротация поддерживается (старые ключи живут некоторое время после создания нового).
- Оформлено в виде удобного api, с понятными конечными маршрутами.
- Хранилище в виде базы данных(sqlite) с собственной оберткой.
- AES-шифрование из коробки. Обязательно нужно обновить ключ в /keys перед продакшн-деплоем.
- Дружелюбный язык и стэк - node js, express. Это вам не сложный java и Spring Boot.
# Краткое руководство
### Суть
Предполагается, что:
1. Сервис будет запускаться локально (извне обращения игнорироваться).
2. Использоваться для благих целей.
### Как пользоваться
Пользоваться им очень просто, как два пальца об асфальт.
#### Для создания ключа:
Нужно обратиться к /reg-key с такой структурой:
```
POST /reg-key
body: {
"name": "Example",
"update": 24
}
```
где:
- update - интервал обновления
- name - название ключа
#### Для получения ключа:
Тут тоже все просто, отличие лишь в способе передачи информации:
```
GET /get-key
query-параметры:
- name
- kid (опционально)
примеры:
- http://localhost/get-key?name=Example
- http://localhost/get-key?name=Example&kid=4adc0149-49e7-45e7-b0af-5e0c4da5fe3f
```
Все, это все что вам нужно знать, чтобы использовать этот сервис.