@types/cose-js
TypeScript icon, indicating that this package has built-in type declarations

0.8.3 • Public • Published

Installation

npm install --save @types/cose-js

Summary

This package contains type definitions for cose-js (https://github.com/erdtman/COSE-JS).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/cose-js.

index.d.ts

/// <reference types="node" />

import { Readable } from "stream";

export type BufferLike = string | Buffer | ArrayBuffer | Uint8Array | Uint8ClampedArray | DataView | Readable;

export interface HeaderParameters {
    partyUNonce?: BufferLike;
    static_key_id?: BufferLike;
    static_key?: BufferLike;
    ephemeral_key?: BufferLike;
    alg?: BufferLike;
    crit?: BufferLike;
    content_type?: BufferLike;
    ctyp?: BufferLike;
    kid?: BufferLike;
    IV?: BufferLike;
    Partial_IV?: BufferLike;
    counter_signature?: BufferLike;
}

export interface Headers {
    u?: HeaderParameters;
    p?: HeaderParameters;
}

export interface Key {
    crv?: string;
    k?: string;
    x?: BufferLike;
    y?: BufferLike;
    d?: BufferLike;
    kty?: string;
}

export namespace encrypt {
    interface Signer {
        key: Buffer;
    }

    interface CreateOptions {
        externalAAD?: Buffer;
        randomSource?(bytes: number): Buffer;
        contextIv?: Buffer;
        encodep?: "empty";
        excludetag?: boolean;
    }

    function create(
        headers: Headers,
        payload: string,
        recipient: Signer | Signer[],
        options?: CreateOptions,
    ): Promise<Buffer>;

    function read(COSEMessage: Buffer, key: Buffer): Promise<Buffer>;
}

export namespace mac {
    interface Signer {
        key: Buffer;
    }

    function create(headers: Headers, plaintext: string, signer: Signer): Promise<Buffer>;

    function read(COSEMessage: Buffer, key: Buffer): Promise<Buffer>;
}

export namespace sign {
    interface Signer {
        key: Key;
        externalAAD?: Buffer;
    }

    interface VerifyOptions {
        defaultType?: number;
    }

    interface CreateOptions {
        encodep?: "empty";
        excludetag?: boolean;
    }

    /** throws an error if verification fails */
    function verify(payload: BufferLike, verifier: Signer, options?: VerifyOptions): Promise<Buffer>;

    /** throws an error if verification fails */
    function verifySync(payload: BufferLike, verifier: Signer, options?: VerifyOptions): Buffer;

    function create(
        headers: Headers,
        payload: BufferLike,
        signers: Signer | Signer[],
        options?: CreateOptions,
    ): Promise<Buffer>;
}

Additional Details

  • Last updated: Mon, 06 Nov 2023 22:41:05 GMT
  • Dependencies: @types/node

Credits

These definitions were written by Kyle Hensel.

Readme

Keywords

none

Package Sidebar

Install

npm i @types/cose-js

Weekly Downloads

359

Version

0.8.3

License

MIT

Unpacked Size

7.1 kB

Total Files

5

Last publish

Collaborators

  • types