UNPKG

@relaycorp/webcrypto-kms

Version:

WebCrypto-compatible client for Key Management Services like GCP KMS

22 lines (21 loc) 1.15 kB
import type { KeyManagementServiceClient } from '@google-cloud/kms'; import { CryptoKey } from 'webcrypto-core'; import { GcpKmsConfig } from './GcpKmsConfig'; import { KmsRsaPssProvider } from '../KmsRsaPssProvider'; export declare class GcpKmsRsaPssProvider extends KmsRsaPssProvider { client: KeyManagementServiceClient; config: GcpKmsConfig; constructor(client: KeyManagementServiceClient, config: GcpKmsConfig); onGenerateKey(algorithm: RsaHashedKeyGenParams): Promise<CryptoKeyPair>; onImportKey(format: KeyFormat, keyData: ArrayBuffer, algorithm: RsaHashedImportParams): Promise<CryptoKey>; onExportKey(format: KeyFormat, key: CryptoKey): Promise<ArrayBuffer>; onSign(algorithm: RsaPssParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>; onVerify(): Promise<boolean>; destroyKey(key: CryptoKey): Promise<void>; close(): Promise<void>; private getGCPProjectId; private createCryptoKey; private getPublicKeyFromPrivate; private kmsSign; } export declare function retrieveKMSPublicKey(kmsKeyVersionName: string, kmsClient: KeyManagementServiceClient): Promise<ArrayBuffer>;