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.
36 lines • 3.62 kB
JavaScript
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import { AeadWrapper } from './aead_wrapper';
import { AesCtrHmacAeadKeyManager } from './aes_ctr_hmac_aead_key_manager';
import { AesGcmKeyManager } from './aes_gcm_key_manager';
/**
* Static methods and constants for registering with the Registry all instances
* of Aead key types supported in a particular release of Tink.
*
* To register all Aead key types from the current Tink release one can do:
*
* AeadConfig.register();
*
* For more information on creation and usage of Aead instances see AeadFactory.
*
* @final
*/
export class AeadConfig {
/**
* Registers key managers for all Aead key types from the current Tink
* release.
*/
static register() {
// TODO MacConfig.register() should be here.
AesGcmKeyManager.register();
AesCtrHmacAeadKeyManager.register();
AeadWrapper.register();
}
}
AeadConfig.PRIMITIVE_NAME = 'Aead';
AeadConfig.AES_CTR_HMAC_AEAD_TYPE_URL = AesCtrHmacAeadKeyManager.KEY_TYPE;
AeadConfig.AES_GCM_TYPE_URL = AesGcmKeyManager.KEY_TYPE;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWVhZF9jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hZWFkL2FlYWRfY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUtyQjs7O09BR0c7SUFDSCxNQUFNLENBQUMsUUFBUTtRQUNiLDRDQUE0QztRQUM1QyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1Qix3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7QUFiTSx5QkFBYyxHQUFXLE1BQU0sQ0FBQztBQWV6QyxVQUFVLENBQUMsMEJBQTBCLEdBQUcsd0JBQXdCLENBQUMsUUFBUSxDQUFDO0FBQzFFLFVBQVUsQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7QWVhZFdyYXBwZXJ9IGZyb20gJy4vYWVhZF93cmFwcGVyJztcbmltcG9ydCB7QWVzQ3RySG1hY0FlYWRLZXlNYW5hZ2VyfSBmcm9tICcuL2Flc19jdHJfaG1hY19hZWFkX2tleV9tYW5hZ2VyJztcbmltcG9ydCB7QWVzR2NtS2V5TWFuYWdlcn0gZnJvbSAnLi9hZXNfZ2NtX2tleV9tYW5hZ2VyJztcblxuLyoqXG4gKiBTdGF0aWMgbWV0aG9kcyBhbmQgY29uc3RhbnRzIGZvciByZWdpc3RlcmluZyB3aXRoIHRoZSBSZWdpc3RyeSBhbGwgaW5zdGFuY2VzXG4gKiBvZiBBZWFkIGtleSB0eXBlcyBzdXBwb3J0ZWQgaW4gYSBwYXJ0aWN1bGFyIHJlbGVhc2Ugb2YgVGluay5cbiAqXG4gKiBUbyByZWdpc3RlciBhbGwgQWVhZCBrZXkgdHlwZXMgZnJvbSB0aGUgY3VycmVudCBUaW5rIHJlbGVhc2Ugb25lIGNhbiBkbzpcbiAqXG4gKiBBZWFkQ29uZmlnLnJlZ2lzdGVyKCk7XG4gKlxuICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gY3JlYXRpb24gYW5kIHVzYWdlIG9mIEFlYWQgaW5zdGFuY2VzIHNlZSBBZWFkRmFjdG9yeS5cbiAqXG4gKiBAZmluYWxcbiAqL1xuZXhwb3J0IGNsYXNzIEFlYWRDb25maWcge1xuICBzdGF0aWMgUFJJTUlUSVZFX05BTUU6IHN0cmluZyA9ICdBZWFkJztcbiAgc3RhdGljIEFFU19DVFJfSE1BQ19BRUFEX1RZUEVfVVJMOiBzdHJpbmc7XG4gIHN0YXRpYyBBRVNfR0NNX1RZUEVfVVJMOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBrZXkgbWFuYWdlcnMgZm9yIGFsbCBBZWFkIGtleSB0eXBlcyBmcm9tIHRoZSBjdXJyZW50IFRpbmtcbiAgICogcmVsZWFzZS5cbiAgICovXG4gIHN0YXRpYyByZWdpc3RlcigpIHtcbiAgICAvLyBUT0RPIE1hY0NvbmZpZy5yZWdpc3RlcigpIHNob3VsZCBiZSBoZXJlLlxuICAgIEFlc0djbUtleU1hbmFnZXIucmVnaXN0ZXIoKTtcbiAgICBBZXNDdHJIbWFjQWVhZEtleU1hbmFnZXIucmVnaXN0ZXIoKTtcbiAgICBBZWFkV3JhcHBlci5yZWdpc3RlcigpO1xuICB9XG59XG5BZWFkQ29uZmlnLkFFU19DVFJfSE1BQ19BRUFEX1RZUEVfVVJMID0gQWVzQ3RySG1hY0FlYWRLZXlNYW5hZ2VyLktFWV9UWVBFO1xuQWVhZENvbmZpZy5BRVNfR0NNX1RZUEVfVVJMID0gQWVzR2NtS2V5TWFuYWdlci5LRVlfVFlQRTtcbiJdfQ==