# @transmute/jose-ld

> ``` npm i @transmute/jose-ld@latest --save ```

Latest version **0.7.0-unstable.82** (published 2023-12-06) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @transmute/jose-ld
pnpm add @transmute/jose-ld
yarn add @transmute/jose-ld
bun add @transmute/jose-ld
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.7.0-unstable.82 |
| Published | 2023-12-06 |
| First published | 2021-05-09 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=16 |
| Dependencies | 6 |
| Unpacked size | 386.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 55 |
| Author | Orie Steele |
| Maintainers | ipbyrne, or13, transmute-ci |

## Links

- npm: https://www.npmjs.com/package/@transmute/jose-ld
- Repository: https://github.com/transmute-industries/verifiable-data
- Homepage: https://github.com/transmute-industries/verifiable-data/tree/main/packages/jose-ld
- Issues: https://github.com/transmute-industries/verifiable-data/issues
- npm.io page: https://npm.io/package/@transmute/jose-ld

## Dependencies (6)

- [jose](https://npm.io/package/jose.md) ^4.3.8
- [base64url](https://npm.io/package/base64url.md) ^3.0.1
- [@stablelib/aes-kw](https://npm.io/package/@stablelib/aes-kw.md) ^1.0.0
- [@peculiar/webcrypto](https://npm.io/package/@peculiar/webcrypto.md) ^1.1.6
- [web-streams-polyfill](https://npm.io/package/web-streams-polyfill.md) ^3.0.3
- [@stablelib/xchacha20poly1305](https://npm.io/package/@stablelib/xchacha20poly1305.md) ^1.0.0

## Recent versions

- 0.7.0-unstable.82 (latest) — 2023-12-06
- 0.7.0-unstable.81 — 2023-06-10
- 0.7.0-unstable.80 — 2023-01-24
- 0.7.0-unstable.79 — 2023-01-17
- 0.7.0-unstable.78 — 2023-01-17
- 0.7.0-unstable.77 — 2022-12-16
- 0.7.0-unstable.76 — 2022-12-13
- 0.7.0-unstable.75 — 2022-12-09
- 0.7.0-unstable.74 — 2022-12-09
- 0.7.0-unstable.73 — 2022-12-06
- 0.7.0-unstable.72 — 2022-12-06
- 0.7.0-unstable.71 — 2022-11-28
- 0.7.0-unstable.70 — 2022-10-31
- 0.7.0-unstable.69 — 2022-10-31
- 0.7.0-unstable.68 — 2022-10-29
- … 76 more at https://npm.io/package/@transmute/jose-ld/versions

## README

### @transmute/jose-ld

```
npm i @transmute/jose-ld@latest --save
```

## Signatures

```ts
import { JWS } from '@transmute/jose-ld';
import { Secp256k1KeyPair } from '@transmute/secp256k1-key-pair';
const k = await Secp256k1KeyPair.generate({
  secureRandom: () => {
    return Buffer.from(
      '4e61bc1918ea6a47ae3307331be7798196a1a8e7cfe4b6e8f7c9a5f36017d929',
      'hex'
    );
  },
});
const signer = JWS.createSigner(k.signer(), 'ES256K', { detached: true });
const verifier = JWS.createVerifier(k.verifier(), 'ES256K', {
  detached: true,
});
const message = Uint8Array.from(Buffer.from('hello'));
const signature = await signer.sign({ data: message });
const verified = await verifier.verify({
  data: message,
  signature,
});
```

## Encryption

```ts
import { JWE } from '@transmute/jose-ld';
import { X25519KeyPair } from '@transmute/x25519-key-pair';

const k = await X25519KeyPair.generate({
  secureRandom: () => {
    return crypto.getRandomValues(new Uint8Array(32));
  },
});

const cipher = new JWE.Cipher(X25519KeyPair);
const document = { key1: 'value1', key2: 'value2' };
const recipients = [
  {
    header: {
      kid: k.id,
      alg: 'ECDH-ES+A256KW',
    },
  },
];
const jwe = await cipher.encryptObject({
  obj: document,
  recipients,
  publicKeyResolver: async (id: string) => {
    if (id === k.id) {
      return k;
    }
    throw new Error(
      'publicKeyResolver does not suppport IRI ' + JSON.stringify(id)
    );
  },
});
const plaintext = await cipher.decrypt({ jwe, keyAgreementKey: k });
```

---
_Source: https://npm.io/package/@transmute/jose-ld · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
