@anzaui/engine - v0.6.0
    Preparing search index...

    Function deriveKey

    • Derive a key with HKDF-SHA256.

      Parameters

      • ikm: string | Uint8Array<ArrayBufferLike>

        Input key material (e.g. a session token).

      • Optionalsalt: string | Uint8Array<ArrayBufferLike>

        Optional salt. Default: empty.

      • info: string | Uint8Array<ArrayBufferLike> = 'anza-stui-session-v1'

        Context string. Default 'anza-stui-session-v1'.

      • keylen: number = 32

        Output length in bytes. Default 32; keep it at 32 or more, since HMAC signing and verification reject shorter secrets.

      Returns Promise<Buffer<ArrayBufferLike>>

      The derived key.

      AnzaError CRYPTO (as a rejection) when derivation fails.

      import { crypto as anzaCrypto, verifyEnvelope } from '@anzaui/engine';

      const userKey = await anzaCrypto.hkdf.deriveKey(sessionToken, 'anza-cluster-salt-2026', 'user-live-feed', 32);
      verifyEnvelope({ mode: 'hmac', secret: userKey }, envelope, { maxAgeSecs: 60, slot: 'feed' });