This library provides utilities for using the DAG-JOSE IPLD codec. It uses DAG-CBOR to encode payloads and cleartexts to CIDs.
First install the package
$ npm i --save dag-jose-utils
import {
encodePayload,
prepareCleartext,
decodeCleartext,
encodeIdentityCID,
decodeIdentityCID,
toJWSPayload,
toJWSStrings
} from 'dag-jose-utils'interface EncodedPayload {
cid: CID
linkedBlock: Uint8Array
}Prepares a payload to be signed in a JWS. Note that you will need to encode the encodePayload.cid.bytes as base64url before signing.
Prepares a cleartext object to be encrypted in a JWE. By default the blockSize for padding is 24.
Decode a decrypted cleartext to an ipld object.
Encode an ipld object as a CID that uses the identity hash.
Decode an ipld object from a CID that uses the identity hash.
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.
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.
MIT or APACHE