@jolocom/protocol-ts
Version:
Jolocom SSI protocol typescript definitions - jolocom.io
34 lines (29 loc) • 1.01 kB
text/typescript
import { IDigestable } from './linkedDataSignature'
export enum KeyTypes {
jolocomIdentityKey = "m/73'/0'/0'/0",
ethereumKey = "m/44'/60'/0'/0/0",
}
export enum SchemeTypes {
secp256k1 = "EcdsaSecp256k1",
x25519 = "X25519"
}
export interface IVaultedKeyProvider {
getPublicKey: (derivationArgs: IKeyDerivationArgs, scheme?: SchemeTypes) => Buffer
getPrivateKey: (derivationArgs: IKeyDerivationArgs, scheme?: SchemeTypes) => Buffer
sign: (derivationArgs: IKeyDerivationArgs, digest: Buffer) => Buffer
signDigestable: (
derivationArgs: IKeyDerivationArgs,
toSign: IDigestable,
) => Promise<Buffer>
asymEncrypt: (data: Buffer, pubKey: Buffer) => Promise<string>
asymDecrypt: (
data: string,
derivationArgs: IKeyDerivationArgs,
) => Promise<Buffer>,
sealBox: (data: Buffer, target: Buffer) => string,
unsealBox: (box: string, derivationArgs: IKeyDerivationArgs) => Buffer
}
export interface IKeyDerivationArgs {
encryptionPass: string
derivationPath: string
}