menuDAT

DAT Javascript, Typescript Library

Repositório

JavaScript, TypeScripthome_and_garden
bash
bash
bash

Exemplo

Serviço de Gerenciamento de Certificados DAT

js
const manager = await DatCmsManager.builder()
    .uri("http://localhost:8088")
    //.intervalOff() // disable auto sync
    .intervalSeconds(60)
    .logger(console)
    .token("12345678901b")
    .build();

// manual sync
// await manager.sync();

let plain = "Unicode 유니코드 ユニコード 万国码 يونيكود यूनिकोड Юникод 🦄💻";
let secure = "Ciphertext 암호문 暗号文 密文 Шифротекст Texte chiffré Geheimtext نص مشفر सिफरपाठ 🔐";

const dat = await manager.issue(plain, secure);
console.log("dat : " + dat);

// parse dat
const payload = await manager.parse(dat);

const payloadPlain = payload.plain;
const payloadSecure = payload.secure;

console.log("payload plain : " + payloadPlain);
console.log("payload secure : " + payloadSecure);

Implementação Manual

js
const manager = new DatManager();

const now = Unixtime.now().time;
manager.importCertificates([new DatCertificate(
    DatInteger.toCid(cid), now - 10n, 3600n, 1800n,
    await DatSignature.generate("HMAC-SHA512-MFS"),
    await DatCrypto.generate("IV-AES256-GCM"),
)]);

let plain = "Unicode 유니코드 ユニコード 万国码 يونيكود यूनिकोड Юникод 🦄💻";
let secure = "Ciphertext 암호문 暗号文 密文 Шифротекст Texte chiffré Geheimtext نص مشفر सिफरपाठ 🔐";

const dat = await manager.issue(plain, secure);
console.log("dat : " + dat);

// parse dat
const payload = await manager.parse(dat);

const payloadPlain = payload.plain;
const payloadSecure = payload.secure;

console.log("payload plain : " + payloadPlain);
console.log("payload secure : " + payloadSecure);