Agent SDK Секреты и HMAC подписи

Защитите учетные данные API агента и поймите, как SDK генерирует временные метки, устойчивые к повтору HMAC—SHA256 запрос подписей.

Просмотр в формате Markdown

Agent SDK запросы аутентифицируются у партнёра API секрете. Держите этот секрет внутри надёжного сервера и позволяйте SDK генерировать поля подписи, когда это возможно.

Два протокола подписания

Agent SDK подписание использует отсортированные поля запроса, временную метку на основе секунд и nonce. Прямой разработчик API запросов использует отдельный процесс, описанный в Request Signing. Не используйте один формат полезной нагрузки для другого.

Правило подписания

Для Agent SDK запросов:

  1. Исключить поле sign .
  2. Исключить поля с пустыми значениями.
  3. Отсортировать оставшиеся имена полей в ASCII порядке.
  4. Присоединяйтесь к полям как k=v&k2=v2.
  5. Вычислим HMAC-SHA256 шестнадцатеричную подпись с apiSecret.

SDK должен строить это значение на основе тех же данных, которые он отправляет. Изменение подписанного поля после генерации подписи приводит к ошибке верификации.

SDK- управляемые поля

ПолеИсточникОписание
agentCodeSDK конфигурацияКод агента партнёра.
Временная меткаТекущее время сервераТайммет Unix за секунды.
nonceБезопасное случайное значениеСлучайная строка с защитой от повтора.
ЗнакHMAC-SHA256Запрашиваю подпись.
ВалютаСтандартная валютаИспользуется при переводе/счёте API опускают валюту.

Секретное хранение

  • Загружать apiSecret из серверного менеджера секретов или защищённой конфигурации во время выполнения.
  • Никогда не размещайте секрет в фронтенд-пакетах, мобильных приложениях, десктопных клиентах, скриншотах или заявках в поддержку.
  • Держать учетные данные для разработки, стадирования и производства отдельно.
  • Ограничить доступ к сервисам и операторам, которым он необходим.
  • Редактировать подписи запросов, значения авторизации и секреты из логов.
  • Аннулировать и заменять удостоверения при подозрении в воздействии.

Защита от часов и повторов

SDK включает timestamp и nonce для снижения риска повторного прохождения. Поддерживайте синхронизацию бэкенд-тактирования и не используйте вручную собранный nonce. Если проверка подписи не удаётся, перед повторной попыткой проверьте установленный секрет, серверное время, сериализированные поля и окружение.

Чек-лист интеграции

ПровереноОжидаемый результат
Секретное местоположениеСекретное хранилище только для бэкенда.
Окружающая средаБазовый URL и удостоверительный статус относятся к одной и той же среде.
Полевые работыSDK генерирует timestamp, nonceи sign.
ЛесозаготовкаБизнес-ID остаются видимыми, а учетные данные скрыты.
РотацияПроцесс подтверждения владельца и замены документирован.