Документація · Віджети

Сертифікати

Віджет cert — інспектор і перевірка статусу сертифікатів. Безсекретний (працює лише з відкритими даними), зручно вбудовувати панеллю.

Приклад

import { embed } from 'https://dstucrypt.io/embed/dstucrypt-embed.mjs';

const cert = await embed('cert', { mount: '#cert-box' });

const info = await cert.inspect(certFile);
//  info = { subject, issuer, serial, validFrom, validTo, keyUsage[],
//           ocspUrl, caIssuersUrl, tspUrl }

const verdict = await cert.verify(certFile, { via: 'ocsp' });
//  verdict = { status: 'GOOD' | 'REVOKED' | …, … }

API

inspect(cert) — розібрати сертифікат

Повертає ключові поля:

Поле Опис
subject власник (ПІБ / назва організації)
issuer АЦСК, що видав сертифікат
serial серійний номер
validFrom / validTo строк чинності
keyUsage призначення ключа (digitalSignature, keyAgreement, …)
accredited чи виданий акредитованим АЦСК (true/false/null) — тобто це КЕП-сертифікат чи ні
ocspUrl адреса сервісу перевірки статусу
caIssuersUrl адреса ланцюжка сертифікатів (AIA)
tspUrl адреса TSP цього АЦСК

verify(cert, { via }) — перевірити статус

  • via: 'ocsp' — онлайн-перевірка в АЦСК (рекомендовано);
  • via: 'crl' — за списком відкликаних сертифікатів.

Повертає { status }: GOOD — чинний, REVOKED — відкликаний.

loadChain(cert) — підтягнути ланцюжок

Завантажує сертифікати видавців за AIA і додає їх у кеш поточної сесії віджета — корисно перед перевіркою, якщо АЦСК екзотичний. Повертає { added } — кількість доданих сертифікатів.

Мережеві запити (OCSP/CRL/AIA) ідуть через наш вбудований проксі — нічого налаштовувати не потрібно.

Перевірка на бекенді

Для авторитетної перевірки сертифіката на сервері (акредитація + OCSP + subject) є ендпоінт POST /api/verify з тілом { "cert": "<base64>" } — див. Серверна перевірка.