TECH 8 мин

Дія.Підпис для бизнеса: технические вызовы интеграции с государственным сервисом

ECDSA + SHA256 для хеширования. Redis key mismatch между start и verify. QR-код и deep link. Обновление данных ФОП/ООО при каждом логине. 4 фикса за сутки.

Дія.Підпис для бизнеса: технические вызовы интеграции с государственным сервисом

Реальная история: как мы интегрировали Дію и что пошло не так.


Зачем Дія.Підпис

Google OAuth — удобный, но не юридически значимый. Дія.Підпис даёт: верифицированную идентичность (ИНН/ЕДРПОУ), квалифицированную электронную подпись, удобство (QR-код или deep link).

Проблема 1: ECDSA хеширование

Дія требует requestId, подписанный ECDSA SHA-256 в Base64. Первая попытка — простой SHA-256 хеш (неправильно). Фикс: полноценный ECDSA sign с PEM-ключом.

Проблема 2: Redis key mismatch

Разные префиксы: diia:request: при создании, diia:auth: при верификации. Copy-paste баг. Фикс: единая константа.

Проблема 3: Обновление данных бизнеса

Первый логин создавал запись, последующие — игнорировали обновления. Фикс: 4 PR за сутки — UPDATE при каждом логине.

Проблема 4: Nginx proto override

Backend генерировал http:// редиректы за Cloudflare. Фикс: X-Forwarded-Proto + trust proxy.


Регистрация: legal.org.ua