Skip to content

Stormshield SDK Documentation

Cross-platform encryption library with ZTDF support

Quick Start

bash
npm install sdsdk.tgz
javascript
// 1. Import Sdsdk class from the sdsdk module
import { Sdsdk } from 'sdsdk';

// 2. Configure sdsdk instance
const sdsdk = new Sdsdk({
  defaultKasId: 'myKas',
  // 3. List all key access servers that can be used for encryption
  kasList: [
    {
      id: 'myKas',
      protocols: [Protocol.Kas],
      url: 'https://myKas.com/api/v1/163e04ad-f8b4-4fcb-abf2-9de3640a1f00/kas',
      authentication: {
        type: 'basic',
        value: 'dGVzdEFwaUtle...zSmtBRkxyM0JaL0x4Vw==',
      },
      publicKey: {
        kid: 'f19484ec-3fa2-4603-8de4-afc51d762d30',
        value: `-----BEGIN PUBLIC KEY-----
               MIICIjANBgkqhki...
              -----END PUBLIC KEY-----`,
      },
    },
  ],
});

// 4. Encrypt data in Zero Trust Data Format (ZTDF)
const ztdf = await sdsdk.encrypt({
  data: new TextEncoder().encode('Hello World!'),
  dataAttributes: [{ location: 'france' }],
  protocol: Protocol.Kas,
});

// 5.Decrypt ZTDF file
const decrypted = await sdsdk.decrypt(ztdf);

console.log(new TextDecoder().decode(decrypted.data));

Requirements

PlatformVersion
Node.js20+
Firefox146+
Chromium145+