1 | type SHA = 'SHA-1' | 'SHA-256' | 'SHA-384' | 'SHA-512';
|
2 | type AES = 'AES-CTR' | 'AES-CBC' | 'AES-GCM' | 'AES-KW';
|
3 | type NIST = 'P-256' | 'P-384' | 'P-521';
|
4 |
|
5 | export function digest(algorithm: SHA, message: string): Promise<string>;
|
6 |
|
7 | export function SHA1(message: string): Promise<string>;
|
8 | export function SHA256(message: string): Promise<string>;
|
9 | export function SHA384(message: string): Promise<string>;
|
10 | export function SHA512(message: string): Promise<string>;
|
11 |
|
12 | export namespace Algorithms {
|
13 | type Digest = SHA;
|
14 |
|
15 | type Keying =
|
16 | | { name: 'RSASSA-PKCS1-v1_5'; hash: SHA }
|
17 | | { name: 'RSA-OAEP'; hash: SHA }
|
18 | | { name: 'RSA-PSS'; hash: SHA }
|
19 | | { name: 'ECDSA'; namedCurve: NIST }
|
20 | | { name: 'ECDH'; namedCurve: NIST }
|
21 | | { name: 'HMAC'; hash: SHA; length?: number }
|
22 | | { name: AES } | AES | 'PBKDF2' | 'HKDF';
|
23 |
|
24 | type Signing =
|
25 | | { name: 'RSASSA-PKCS1-v1_5' } | 'RSASSA-PKCS1-v1_5'
|
26 | | { name: 'RSA-PSS'; saltLength: number }
|
27 | | { name: 'ECDSA'; hash: SHA }
|
28 | | { name: 'HMAC' } | 'HMAC';
|
29 | }
|
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 | export function keyload(algo: Algorithms.Keying, secret: string, scopes: KeyUsage[]): Promise<CryptoKey>;
|
36 |
|
37 |
|
38 |
|
39 |
|
40 |
|
41 | export function keygen(algo: Algorithms.Keying, scopes: KeyUsage[], extractable?: boolean): Promise<CryptoKey|CryptoKeyPair>;
|
42 |
|
43 |
|
44 |
|
45 |
|
46 | export function sign(algo: Algorithms.Signing, key: CryptoKey, payload: string): Promise<ArrayBuffer>;
|
47 |
|
48 |
|
49 |
|
50 |
|
51 | export function verify(algo: Algorithms.Signing, key: CryptoKey, payload: string, signature: ArrayBuffer): Promise<boolean>;
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 | export type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array | BigInt64Array | BigUint64Array;
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 |
|
64 | export function timingSafeEqual<T extends TypedArray>(a: T, b: T): boolean;
|
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 |
|
74 |
|
75 | export function PBKDF2(digest: Algorithms.Digest, password: string, salt: string, iters: number, length: number): Promise<ArrayBuffer>;
|