@nativescript/core
Version:
A JavaScript library providing an easy to use api for interacting with iOS and Android platform APIs.
64 lines (63 loc) • 2.34 kB
TypeScript
type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | BigInt64Array | BigUint64Array | Float32Array | Float64Array;
type HashTypes = 'SHA-1' | 'SHA-256' | 'SHA-384' | 'SHA-512';
type Hash = HashTypes | {
name: HashTypes;
};
export interface HmacKeyGenParams {
name: 'HMAC';
hash: Hash;
length?: number;
}
export type KeyUsages = 'encrypt' | 'decrypt' | 'sign' | 'verify' | 'deriveKey' | 'deriveBits' | 'wrapKey' | 'unwrapKey';
declare const parent_: unique symbol;
declare const native_: unique symbol;
declare const algorithm_: unique symbol;
declare const usages_: unique symbol;
declare const extractable_: unique symbol;
declare const type_: unique symbol;
declare const privateKey_: unique symbol;
declare const publicKey_: unique symbol;
export declare class CryptoKey {
[parent_]: any;
[native_]: any;
[algorithm_]: any;
[usages_]: any;
[extractable_]: any;
[type_]: any;
get algorithm(): any;
get usages(): any;
get extractable(): any;
get type(): any;
static fromNative(key: any): CryptoKey;
}
export declare class CryptoKeyPair {
[native_]: any;
[privateKey_]: any;
[publicKey_]: any;
get privateKey(): any;
get publicKey(): any;
static fromNative(keyPair: any): CryptoKeyPair;
}
interface RsaOaepParams {
name: 'RSA-OAEP';
label?: TypedArray | ArrayBuffer;
}
interface RsaHashedKeyGenParams {
name: 'RSA-OAEP';
modulusLength: number;
publicExponent: Uint8Array;
hash: Hash;
}
export declare class SubtleCrypto {
digest(algorithm: 'SHA-1' | 'SHA-256' | 'SHA-384' | 'SHA-512', data: TypedArray | ArrayBuffer): Promise<unknown>;
encrypt(algorithm: RsaOaepParams, key: CryptoKey, data: TypedArray | ArrayBuffer): Promise<unknown>;
decrypt(algorithm: RsaOaepParams, key: CryptoKey, data: TypedArray | ArrayBuffer): Promise<unknown>;
sign(algorithm: {
name: 'HMAC';
} | 'HMAC', key: CryptoKey, data: TypedArray | ArrayBuffer): Promise<unknown>;
verify(algorithm: {
name: 'HMAC';
} | 'HMAC', key: CryptoKey, signature: ArrayBuffer, data: ArrayBuffer): Promise<unknown>;
generateKey(algorithm: HmacKeyGenParams | RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsages[]): Promise<unknown>;
}
export {};