UNPKG

@sphereon/ssi-sdk-ext.kms-azure

Version:

Sphereon SSI-SDK plugin for Azure KeyVault Key Management System.

55 lines (51 loc) 1.67 kB
import { TKeyType, ManagedKeyInfo, IKey, MinimalImportableKey } from '@veramo/core'; import { AbstractKeyManagementSystem } from '@veramo/key-manager'; interface AbstractKeyManagementSystemOptions { applicationId: string; keyVaultUrl: string; keyVaultClientIdTenantId: string; keyVaultClientId: string; keyVaultClientSecret: string; } declare class AzureKeyVaultKeyManagementSystem extends AbstractKeyManagementSystem { private client; private id; constructor(options: AbstractKeyManagementSystemOptions); createKey(args: { type: TKeyType; meta?: KeyMetadata; }): Promise<ManagedKeyInfo>; sign(args: { keyRef: Pick<IKey, 'kid'>; data: Uint8Array; [x: string]: any; }): Promise<string>; verify(args: { keyRef: Pick<IKey, 'kid'>; data: Uint8Array; signature: string; [x: string]: any; }): Promise<Boolean>; sharedSecret(args: { myKeyRef: Pick<IKey, 'kid'>; theirKey: Pick<IKey, 'publicKeyHex' | 'type'>; }): Promise<string>; importKey(args: Omit<MinimalImportableKey, 'kms'> & { privateKeyPEM?: string; }): Promise<ManagedKeyInfo>; deleteKey({ kid }: { kid: string; }): Promise<boolean>; listKeys(): Promise<ManagedKeyInfo[]>; private signatureAlgorithmToDigestAlgorithm; private signatureAlgorithmToCurve; private mapKeyUsage; private mapKeyTypeToSignatureAlgorithm; private mapKeyOperation; private mapKeyOperations; } interface KeyMetadata { algorithms?: string[]; [x: string]: any; } export { AzureKeyVaultKeyManagementSystem, type KeyMetadata };