This repository has been archived on 2024-09-11. You can view files and clone it, but cannot push or open issues or pull requests.
svrjs-blog-newsletter/cronjob/node_modules/@aws-crypto/ie11-detection/build/MsSubtleCrypto.d.ts
2024-05-26 22:54:55 +02:00

33 lines
1.9 KiB
TypeScript

import { CryptoOperation } from "./CryptoOperation";
import { Key } from "./Key";
import { KeyOperation } from "./KeyOperation";
export type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "derive" | "wrapKey" | "unwrapKey" | "importKey";
export type EncryptionOrVerificationAlgorithm = "RSAES-PKCS1-v1_5";
export type Ie11EncryptionAlgorithm = "AES-CBC" | "AES-GCM" | "RSA-OAEP" | EncryptionOrVerificationAlgorithm;
export type Ie11DigestAlgorithm = "SHA-1" | "SHA-256" | "SHA-384";
export interface HashAlgorithm {
name: Ie11DigestAlgorithm;
}
export interface HmacAlgorithm {
name: "HMAC";
hash: HashAlgorithm;
}
export type SigningAlgorithm = HmacAlgorithm;
/**
* Represent ths SubtleCrypto interface as implemented in Internet Explorer 11.
* This implementation was based on an earlier version of the WebCrypto API and
* differs from the `window.crypto.subtle` object exposed in Chrome, Safari,
* Firefox, and MS Edge.
*
* @see https://msdn.microsoft.com/en-us/library/dn302325(v=vs.85).aspx
*/
export interface MsSubtleCrypto {
decrypt(algorithm: Ie11EncryptionAlgorithm, key: Key, buffer?: ArrayBufferView): CryptoOperation;
digest(algorithm: Ie11DigestAlgorithm, buffer?: ArrayBufferView): CryptoOperation;
encrypt(algorithm: Ie11EncryptionAlgorithm, key: Key, buffer?: ArrayBufferView): CryptoOperation;
exportKey(format: string, key: Key): KeyOperation;
generateKey(algorithm: SigningAlgorithm | Ie11EncryptionAlgorithm, extractable?: boolean, keyUsages?: Array<KeyUsage>): KeyOperation;
importKey(format: string, keyData: ArrayBufferView, algorithm: any, extractable?: boolean, keyUsages?: Array<KeyUsage>): KeyOperation;
sign(algorithm: SigningAlgorithm, key: Key, buffer?: ArrayBufferView): CryptoOperation;
verify(algorithm: SigningAlgorithm | EncryptionOrVerificationAlgorithm, key: Key, signature: ArrayBufferView, buffer?: ArrayBufferView): CryptoOperation;
}