src/crypto/key/key.service.ts
Generic interface for a key service
OnModuleInit
Properties |
|
Methods |
|
Public Abstract signer |
Type : Signer
|
Defined in src/crypto/key/key.service.ts:9
|
Abstract getKid |
getKid()
|
Defined in src/crypto/key/key.service.ts:24
|
Get the key id
Returns :
Promise<string>
|
Abstract getPublicKey | ||||
getPublicKey(type)
|
||||
Defined in src/crypto/key/key.service.ts:30
|
||||
Get the public key
Parameters :
Returns :
Promise<JWK>
|
Abstract getPublicKey | ||||
getPublicKey(type)
|
||||
Defined in src/crypto/key/key.service.ts:31
|
||||
Parameters :
Returns :
Promise<string>
|
Abstract getPublicKey | ||||||
getPublicKey(type: "pem" | "jwk")
|
||||||
Defined in src/crypto/key/key.service.ts:32
|
||||||
Parameters :
Returns :
Promise<JWK | string>
|
Abstract init |
init()
|
Defined in src/crypto/key/key.service.ts:18
|
Initialize the key service
Returns :
Promise<void>
|
Async onModuleInit |
onModuleInit()
|
Defined in src/crypto/key/key.service.ts:11
|
Returns :
any
|
Abstract signJWT | |||||||||
signJWT(payload: JWTPayload, header: JoseHeaderParameters)
|
|||||||||
Defined in src/crypto/key/key.service.ts:40
|
|||||||||
Returns the signature of the given value
Parameters :
Returns :
Promise<string>
|
import { OnModuleInit } from '@nestjs/common';
import { Signer } from '@sd-jwt/types';
import { JWK, JWTPayload, JoseHeaderParameters } from 'jose';
/**
* Generic interface for a key service
*/
export abstract class KeyService implements OnModuleInit {
public abstract signer: Signer;
async onModuleInit() {
await this.init();
}
/**
* Initialize the key service
*/
abstract init(): Promise<void>;
/**
* Get the key id
* @returns
*/
abstract getKid(): Promise<string>;
/**
* Get the public key
* @returns
*/
abstract getPublicKey(type: 'jwk'): Promise<JWK>;
abstract getPublicKey(type: 'pem'): Promise<string>;
abstract getPublicKey(type: 'pem' | 'jwk'): Promise<JWK | string>;
/**
* Returns the signature of the given value
* @param value
*/
// abstract sign(value: string): Promise<string>;
abstract signJWT(
payload: JWTPayload,
header: JoseHeaderParameters,
): Promise<string>;
}