UNPKG

react-native-quick-crypto

Version:

A fast implementation of Node's `crypto` module written in C/C++ JSI

40 lines 1.8 kB
import type { AESCipher } from './aes'; import type { AsymmetricKeyType, JWK, KeyEncoding, KeyType, KFormatType, KWebCryptoKeyFormat, NamedCurve } from '../keys'; import type { SignVerify } from './sig'; import type { GenerateSecretKeyMethod, GenerateSecretKeySyncMethod } from './keygen'; import type { KeyVariant } from './Cipher'; import type { RSACipher } from './rsa'; import type { BinaryLike } from '../Utils'; type KeyDetail = { length?: number; publicExponent?: number; modulusLength?: number; hashAlgorithm?: string; mgf1HashAlgorithm?: string; saltLength?: number; namedCurve?: string; }; type ECExportKey = (format: KWebCryptoKeyFormat, handle: KeyObjectHandle) => ArrayBuffer; type RSAExportKey = (format: KWebCryptoKeyFormat, handle: KeyObjectHandle, variant: KeyVariant) => ArrayBuffer; export type KeyObjectHandle = { export(format?: KFormatType, type?: KeyEncoding, cipher?: string, passphrase?: BinaryLike): ArrayBuffer; exportJwk(key: JWK, handleRsaPss: boolean): JWK; getAsymmetricKeyType(): AsymmetricKeyType; init(keyType: KeyType, key: string | ArrayBuffer, format?: KFormatType, type?: KeyEncoding, passphrase?: BinaryLike): boolean; initECRaw(curveName: string, keyData: ArrayBuffer): boolean; initJwk(keyData: JWK, namedCurve?: NamedCurve): KeyType | undefined; keyDetail(): KeyDetail; }; type CreateKeyObjectHandle = () => KeyObjectHandle; export type webcrypto = { aesCipher: AESCipher; createKeyObjectHandle: CreateKeyObjectHandle; ecExportKey: ECExportKey; generateSecretKey: GenerateSecretKeyMethod; generateSecretKeySync: GenerateSecretKeySyncMethod; rsaCipher: RSACipher; rsaExportKey: RSAExportKey; signVerify: SignVerify; }; export {}; //# sourceMappingURL=webcrypto.d.ts.map