Дія.Підпис для бизнеса: технические вызовы интеграции с государственным сервисом
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