react-native-quick-crypto
Version:
A fast implementation of Node's `crypto` module written in C/C++ JSI
44 lines (36 loc) • 1.06 kB
text/typescript
import type { HybridObject } from 'react-native-nitro-modules';
export interface EdKeyPair
extends HybridObject<{ ios: 'c++'; android: 'c++' }> {
diffieHellman(privateKey: ArrayBuffer, publicKey: ArrayBuffer): ArrayBuffer;
generateKeyPair(
publicFormat: number,
publicType: number,
privateFormat: number,
privateType: number,
cipher?: string,
passphrase?: ArrayBuffer,
): Promise<void>;
generateKeyPairSync(
publicFormat: number,
publicType: number,
privateFormat: number,
privateType: number,
cipher?: string,
passphrase?: ArrayBuffer,
): void;
getPublicKey(): ArrayBuffer;
getPrivateKey(): ArrayBuffer;
sign(message: ArrayBuffer, key?: ArrayBuffer): Promise<ArrayBuffer>;
signSync(message: ArrayBuffer, key?: ArrayBuffer): ArrayBuffer;
verify(
signature: ArrayBuffer,
message: ArrayBuffer,
key?: ArrayBuffer,
): Promise<boolean>;
verifySync(
signature: ArrayBuffer,
message: ArrayBuffer,
key?: ArrayBuffer,
): boolean;
setCurve(curve: string): void;
}