react-native-quick-crypto
Version:
A fast implementation of Node's `crypto` module written in C/C++ JSI
33 lines (25 loc) • 878 B
text/typescript
import type { HybridObject } from 'react-native-nitro-modules';
export interface MlKemKeyPair
extends HybridObject<{ ios: 'c++'; android: 'c++' }> {
setVariant(variant: string): void;
generateKeyPair(
publicFormat: number,
publicType: number,
privateFormat: number,
privateType: number,
): Promise<void>;
generateKeyPairSync(
publicFormat: number,
publicType: number,
privateFormat: number,
privateType: number,
): void;
getPublicKey(): ArrayBuffer;
getPrivateKey(): ArrayBuffer;
setPublicKey(keyData: ArrayBuffer, format: number, type: number): void;
setPrivateKey(keyData: ArrayBuffer, format: number, type: number): void;
encapsulate(): Promise<ArrayBuffer>;
encapsulateSync(): ArrayBuffer;
decapsulate(ciphertext: ArrayBuffer): Promise<ArrayBuffer>;
decapsulateSync(ciphertext: ArrayBuffer): ArrayBuffer;
}