Безпека
Автентифікація API
BroSettlement використовує асиметричні Ed25519-ключі: backend підписує запит приватним ключем, а BroSettlement перевіряє його зареєстрованим публічним ключем.
Обов’язкові headers
| Header | Опис |
|---|---|
X-Bro-Api-Key | Ідентифікатор API-ключа |
X-Bro-Timestamp | ISO 8601 timestamp для replay protection |
X-Bro-Nonce | Унікальне значення для кожного запиту |
X-Bro-Signature | Ed25519-підпис у Base64 |
Payload підпису
text
METHOD
/v1/wallets
2026-06-25T09:00:00Z
8f7b8f24-4e6a-45d2-a944-4b11c4c7d2f8
sha256_body_hashЗасоби захисту
- Ed25519 API authentication.
- Secrets manager або HSM-backed service для приватних ключів.
- Ротація ключів, IP allowlist та унікальні nonces.
- Допустиме вікно timestamp.
- Обов’язкова 2FA для людей-користувачів.
Приклад запиту
bash
curl https://api.brosettlement.com/v1/wallets \
-H "X-Bro-Api-Key: api_key_123" \
-H "X-Bro-Timestamp: 2026-06-25T09:00:00Z" \
-H "X-Bro-Nonce: unique_nonce" \
-H "X-Bro-Signature: base64_ed25519_signature"Типові помилки
| Помилка | Причина | Виправлення |
|---|---|---|
invalid_signature | Підпис не відповідає canonical request | Перевірте payload і body hash |
expired_timestamp | Timestamp поза допустимим вікном | Синхронізуйте час через NTP |
duplicate_nonce | Nonce вже використано | Генеруйте унікальний nonce |
ip_not_allowed | IP відсутній в allowlist | Оновіть IP allowlist ключа |