Віджет decrypt розкриває конверт CMS EnvelopedData (.p7e). Користувач
обирає файл ключа і вводить пароль всередині iframe — як і при підписі,
ключ на вашу сторінку не потрапляє.
Платна опція. Разом із шифруванням входить в опцію «Шифрування та розшифрування» (див. ціни). Без неї
decryptповертає помилкуerror.code === 'ENCRYPTION_NOT_ENABLED'(у тріалі / на localhost — доступно).
Приклад
import { embed } from 'https://dstucrypt.io/embed/dstucrypt-embed.mjs';
const dec = await embed('decrypt', { mount: 'modal' });
const plain = await dec.decrypt(envelopeFile); // ключ і пароль — в iframe
plain.download('document.pdf'); // або plain.bytes / plain.text()
dec.destroy();
API
const plain = await dec.decrypt(envelope);
envelope— конверт.p7e(File|Uint8Array|ArrayBuffer).- Результат —
Bytesз розшифрованими даними.
Віджет сам обере в контейнері ключ узгодження (keyAgreement) — користувачу
не потрібно розбиратись у типах ключів. Одна кнопка «Розшифрувати»:
відкриває контейнер і одразу розшифровує.
Помилки
Показуються людською мовою у віджеті («Невірний пароль до ключа», «Цей
сертифікат лише для підпису» — якщо в контейнері немає шифрувального ключа).
У код інтегратора помилка приходить як виняток із message.