dag-jose-utils
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    dag-jose-utils

    This library provides utilities for using the DAG-JOSE IPLD codec. It uses DAG-CBOR to encode payloads and cleartexts to CIDs.

    Installation

    First install the package

    $ npm i --save dag-jose-utils
    

    Importing

    import {
      encodePayload,
      prepareCleartext,
      decodeCleartext,
      encodeIdentityCID,
      decodeIdentityCID,
      toJWSPayload,
      toJWSStrings
    } from 'dag-jose-utils'

    API

    EncodedPayload

    interface EncodedPayload {
      cid: CID
      linkedBlock: Uint8Array
    }

    encodePayload(payload: Record<string, any>): Promise

    Prepares a payload to be signed in a JWS. Note that you will need to encode the encodePayload.cid.bytes as base64url before signing.

    prepareCleartext(cleartext: Record<string, any>, blockSize?: number): Uint8Array

    Prepares a cleartext object to be encrypted in a JWE. By default the blockSize for padding is 24.

    decodeCleartext(b: Uint8Array): Record<string, any>

    Decode a decrypted cleartext to an ipld object.

    encodeIdentityCID(obj: Record<string, any>): CID

    Encode an ipld object as a CID that uses the identity hash.

    decodeIdentityCID(cid: CID): Record<string, any>

    Decode an ipld object from a CID that uses the identity hash.

    toJWSPayload(payload: EncodedPayload | CID): string

    Transform an EncodedPayload (from encodePayload()) or a CID into a JWS string for use with createJWS() in did-jwt. The string form is simply the Base64url encoded form of the CID's byte representation.

    toJWSStrings(jose: any): string[]

    Transform a DagJWS object from ipld-dag-jose into an array of strings for each signature in the object. The strings can then be verified using verifyJWS() in did-jwt.

    Maintainer

    Joel Thorstensson

    License

    MIT or APACHE

    Keywords

    none

    Install

    npm i dag-jose-utils

    DownloadsWeekly Downloads

    2,923

    Version

    1.0.0

    License

    (Apache-2.0 OR MIT)

    Unpacked Size

    23.7 kB

    Total Files

    16

    Last publish

    Collaborators

    • npm.3box
    • smrz2001
    • oed
    • zachferland
    • paul_lecam
    • stbrody
    • ukstv