UNPKG

pooja-docucomb-tink-crypto

Version:

A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.

45 lines (36 loc) 1.75 kB
/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import {AeadConfig} from '../aead/aead_config'; import * as Registry from '../internal/registry'; import {EciesAeadHkdfPrivateKeyManager} from './ecies_aead_hkdf_private_key_manager'; import {EciesAeadHkdfPublicKeyManager} from './ecies_aead_hkdf_public_key_manager'; import {HybridDecryptWrapper} from './hybrid_decrypt_wrapper'; import {HybridEncryptWrapper} from './hybrid_encrypt_wrapper'; // Static methods and constants for registering with the Registry all instances // of key types for hybrid encryption and decryption supported in a particular // release of Tink. // To register all key types from the current Tink release one can do: // HybridConfig.register(); // For more information on creation and usage of hybrid encryption instances // see HybridEncryptFactory (for encryption) and HybridDecryptFactory (for // decryption). /** * Registers key managers for all HybridEncrypt and HybridDecrypt key types * from the current Tink release. */ export function register() { AeadConfig.register(); Registry.registerKeyManager(new EciesAeadHkdfPrivateKeyManager()); Registry.registerKeyManager(new EciesAeadHkdfPublicKeyManager()); Registry.registerPrimitiveWrapper(new HybridEncryptWrapper()); Registry.registerPrimitiveWrapper(new HybridDecryptWrapper()); } export const ENCRYPT_PRIMITIVE_NAME: string = 'HybridEncrypt'; export const ECIES_AEAD_HKDF_PUBLIC_KEY_TYPE: string = EciesAeadHkdfPublicKeyManager.KEY_TYPE; export const DECRYPT_PRIMITIVE_NAME: string = 'HybridDecrypt'; export const ECIES_AEAD_HKDF_PRIVATE_KEY_TYPE: string = EciesAeadHkdfPrivateKeyManager.KEY_TYPE;