blob: 312ece90591e5d556e723cd0fdf8a322ae7da8b3 [file] [log] [blame]
/**
* @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 {
static PRIMITIVE_NAME: string = 'Aead';
static AES_CTR_HMAC_AEAD_TYPE_URL: string;
static AES_GCM_TYPE_URL: string;
/**
* 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.AES_CTR_HMAC_AEAD_TYPE_URL = AesCtrHmacAeadKeyManager.KEY_TYPE;
AeadConfig.AES_GCM_TYPE_URL = AesGcmKeyManager.KEY_TYPE;