src/crypto/key/key.service.ts
Generic interface for a key service
Methods |
|
Abstract getKid | ||||||
getKid(tenantId: string)
|
||||||
Defined in src/crypto/key/key.service.ts:23
|
||||||
Get the key id
Parameters :
Returns :
Promise<string>
|
Abstract getPublicKey | |||||||||
getPublicKey(type, tenantId: string)
|
|||||||||
Defined in src/crypto/key/key.service.ts:29
|
|||||||||
Get the public key
Parameters :
Returns :
Promise<JWK>
|
Abstract getPublicKey | |||||||||
getPublicKey(type, tenantId: string)
|
|||||||||
Defined in src/crypto/key/key.service.ts:30
|
|||||||||
Parameters :
Returns :
Promise<string>
|
Abstract getPublicKey | |||||||||
getPublicKey(type: "pem" | "jwk", tenantId: string)
|
|||||||||
Defined in src/crypto/key/key.service.ts:31
|
|||||||||
Parameters :
Returns :
Promise<JWK | string>
|
Abstract init | ||||
init(tenantId)
|
||||
Defined in src/crypto/key/key.service.ts:11
|
||||
Initialize the key service
Parameters :
Returns :
Promise<void>
|
Abstract signer | ||||||
signer(tenantId: string)
|
||||||
Defined in src/crypto/key/key.service.ts:17
|
||||||
Get the callback for the signer function
Parameters :
Returns :
Promise<Signer>
|
Abstract signJWT | ||||||||||||
signJWT(payload: JWTPayload, header: JoseHeaderParameters, tenantId: string)
|
||||||||||||
Defined in src/crypto/key/key.service.ts:37
|
||||||||||||
Parameters :
Returns :
Promise<string>
|
import { Signer } from '@sd-jwt/types';
import { JWK, JWTPayload, JoseHeaderParameters } from 'jose';
/**
* Generic interface for a key service
*/
export abstract class KeyService {
/**
* Initialize the key service
*/
abstract init(tenantId): Promise<void>;
/**
* Get the callback for the signer function
* @param tenantId
*/
abstract signer(tenantId: string): Promise<Signer>;
/**
* Get the key id
* @returns
*/
abstract getKid(tenantId: string): Promise<string>;
/**
* Get the public key
* @returns
*/
abstract getPublicKey(type: 'jwk', tenantId: string): Promise<JWK>;
abstract getPublicKey(type: 'pem', tenantId: string): Promise<string>;
abstract getPublicKey(
type: 'pem' | 'jwk',
tenantId: string,
): Promise<JWK | string>;
//TODO: this can be handled via the signer callback
abstract signJWT(
payload: JWTPayload,
header: JoseHeaderParameters,
tenantId: string,
): Promise<string>;
}