Віджет encrypt створює зашифрований конверт CMS EnvelopedData за
ДСТУ 7624:2014 «Калина». Шифрування виконується на сертифікат одержувача —
приватний ключ не потрібен, це безсекретний віджет.
Платна опція. Шифрування й розшифрування — окрема опція «Шифрування та розшифрування» (див. ціни), яка вмикається для домену. Без неї
encrypt/decryptповертають помилку зerror.code === 'ENCRYPTION_NOT_ENABLED'(у тріалі / на localhost доступно для перевірки).
Приклад
import { embed } from 'https://dstucrypt.io/embed/dstucrypt-embed.mjs';
const enc = await embed('encrypt');
// data — що шифруємо; recipientCert — сертифікат одержувача (.cer/.crt)
const envelope = await enc.encrypt(data, recipientCertFile);
envelope.download('document.p7e'); // або envelope.bytes на бекенд
enc.destroy();
API
const envelope = await enc.encrypt(data, recipientCert);
data—File|Uint8Array|ArrayBuffer| рядок.recipientCert— сертифікат одержувача (файл або байти). У сертифікаті має бути ключ узгодження (keyAgreement) — звичайний «шифрувальний» сертифікат від АЦСК.- Результат —
Bytesіз конвертом.p7e.
Розшифрувати конверт зможе лише власник приватного ключа одержувача — див. Розшифрування.
Типова зв'язка
Клієнт шифрує документ на сертифікат вашої організації → передає .p7e через
відкритий канал → ви розшифровуєте своїм ключем. Вміст у дорозі недоступний
нікому, включно з нашим сервісом: шифрування відбувається в браузері.