Skip to content

API reference / @jsprismarine/auth / IdentityKey

Class: IdentityKey ​

Defined in: IdentityKey.ts:20

A client's identity key: the P-384 key a login's chain, token and client data name, and the key the encryption handshake derives its secret from.

Every token it signs names it in the x5u header, which is how a verifier finds the key to check the signature with.

Constructors ​

Constructor ​

new IdentityKey(privateKey): IdentityKey

Defined in: IdentityKey.ts:29

Parameters ​

privateKey ​

KeyObject

A P-384 private key.

Returns ​

IdentityKey

Properties ​

privateKey ​

readonly privateKey: KeyObject

Defined in: IdentityKey.ts:29

A P-384 private key.


privateKeyPem ​

readonly privateKeyPem: string

Defined in: IdentityKey.ts:26

The private key as PEM-encoded PKCS#8.


publicKey ​

readonly publicKey: KeyObject

Defined in: IdentityKey.ts:22

The public half, as a KeyObject.


publicKeyDer ​

readonly publicKeyDer: string

Defined in: IdentityKey.ts:24

The public key, DER inside base64: the form x5u, identityPublicKey and cpk carry.

Methods ​

sign() ​

sign(claims): Promise<string>

Defined in: IdentityKey.ts:45

Signs claims as an ES384 JWT whose header names this key. Only the claims given are signed: nothing such as iat is added.

Parameters ​

claims ​

Record<string, unknown>

The token's claims.

Returns ​

Promise<string>


generate() ​

static generate(): IdentityKey

Defined in: IdentityKey.ts:36

A fresh key.

Returns ​

IdentityKey