UNPKG

di-wings

Version:

Aviary Tech's common library for decentralized identity

52 lines 1.96 kB
import type { JsonWebKey2020 } from './JsonWebKey2020'; export declare enum KeyType { Ed25519 = "Ed25519", X25519 = "X25519", Secp256k1 = "Secp256k1", Bls12381G2 = "Bls12381G2" } export declare class Multikey { id: string; type: 'Multikey'; controller: string; publicKeyMultibase: string; publicKey: Uint8Array; secretKeyMultibase?: string; privateKey?: Uint8Array; keyType: KeyType; private signer?; private verifier?; constructor(keyType: KeyType, id: string, controller: string, publicKey: Uint8Array, privateKey?: Uint8Array); static generate(keyType: KeyType): Promise<Multikey>; private static fingerprintFromPublicKey; private createSigner; private createVerifier; sign(data: Uint8Array): Promise<Uint8Array>; verify(data: Uint8Array, signature: Uint8Array): Promise<boolean>; deriveSecret(peerKey: Multikey): Promise<Uint8Array>; encrypt(data: Uint8Array, recipientPublicKey: Multikey): Promise<Uint8Array>; decrypt(data: Uint8Array, senderPublicKey: Multikey): Promise<Uint8Array>; static encodePublicKey(publicKey: Uint8Array, keyType: KeyType): string; static encodePrivateKey(privateKey: Uint8Array, keyType: KeyType): string; static decodePublicKey(publicKeyMultibase: string): { keyType: KeyType; publicKey: Uint8Array; }; static decodePrivateKey(secretKeyMultibase: string): { keyType: KeyType; privateKey: Uint8Array; }; export(options?: { privateKey?: boolean; type: 'JsonWebKey2020'; }): Promise<JsonWebKey2020>; toJSON(): any; static fromMultibase({ id, controller, publicKeyMultibase, secretKeyMultibase }: { id: string; controller: string; publicKeyMultibase: string; secretKeyMultibase?: string; }): Multikey; static fromSecretKey(secretKeyMultibase: string): Multikey; } //# sourceMappingURL=Multikey.d.ts.map