Віджет 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>" } — див.
Серверна перевірка.