UNPKG

@nfen/webcrypto-ts

Version:
65 lines 2.3 kB
/** * Code related to AES_KW mode * @module */ import * as params from "../params.js"; import { AesKwCryptoKey, AesKwProxiedCryptoKey } from "./shared.js"; /** @hidden */ export declare const handler: ProxyHandler<AesKwCryptoKey>; /** * Generate a new AES_KW key * @example * ```ts * const key = await AES_KW.generateKey(); * ``` */ export declare function generateKey(algorithm?: Omit<params.EnforcedAesKeyGenParams, "name">, extractable?: boolean, keyUsages?: KeyUsage[]): Promise<AesKwProxiedCryptoKey>; /** * Import an AES_KW key from the specified format * @example * ```ts * const key = await AES_KW.importKey("jwk", jwk); * ``` */ export declare function importKey(format: KeyFormat, key: BufferSource | JsonWebKey, extractable?: boolean, keyUsages?: KeyUsage[]): Promise<AesKwProxiedCryptoKey>; /** * Export an AES_KW key into the specified format * @example * ```ts * const jwk = await AES_KW.exportKey("jwk", key.self); * ``` * @example * ```ts * const jwk = await key.exportKey("jwk"); * ``` */ export declare const exportKey: (format: KeyFormat, key: AesKwCryptoKey) => Promise<ArrayBuffer | JsonWebKey>; /** * Wrap another key with an AES_KW key * @example * ```ts * const kek = await AES_KW.generateKey({length: 256}, true, ['wrapKey', 'unwrapKey']); * const dek = await AES_GCM.generateKey(); * const wrappedKey = await AES_KW.wrapKey("raw", dek.self, kek.self); * ``` * @example * ```ts * const kek = await AES_KW.generateKey({length: 256}, true, ['wrapKey', 'unwrapKey']); * const dek = await AES_GCM.generateKey(); * const wrappedKey = await kek.wrapKey("raw", dek.self); * ``` */ export declare function wrapKey(format: KeyFormat, key: CryptoKey, wrappingkey: AesKwCryptoKey): Promise<ArrayBuffer>; /** * Unwrap a wrapped key using the key encryption key * @example * ```ts * const dek = await AES_KW.unwrapKey("raw", wrappedKey, {name: "AES_GCM"}, kek.self); * ``` * @example * ```ts * const dek = await kek.unwrapKey("raw", wrappedKey, {name: "AES_GCM"}); * ``` */ export declare function unwrapKey(format: KeyFormat, wrappedKey: BufferSource, wrappedKeyAlgorithm: params.EnforcedImportParams, unwrappingKey: AesKwCryptoKey, extractable?: boolean, keyUsages?: KeyUsage[]): Promise<CryptoKey>; //# sourceMappingURL=aes_kw.d.ts.map