public class KeyAuthorizationKeyProvider extends KeyProviderCryptoExtension
KeyProvider proxy that checks whether the current user derived via
UserGroupInformation, is authorized to perform the following
type of operations on a Key :
| Modifier and Type | Class and Description |
|---|---|
static interface |
KeyAuthorizationKeyProvider.KeyACLs
Interface that needs to be implemented by a client of the
KeyAuthorizationKeyProvider. |
static class |
KeyAuthorizationKeyProvider.KeyOpType |
KeyProviderCryptoExtension.CryptoExtension, KeyProviderCryptoExtension.EncryptedKeyVersionKeyProviderExtension.ExtensionKeyProvider.KeyVersion, KeyProvider.Metadata, KeyProvider.Options| Modifier and Type | Field and Description |
|---|---|
static String |
KEY_ACL |
EEK, EKDEFAULT_BITLENGTH, DEFAULT_BITLENGTH_NAME, DEFAULT_CIPHER, DEFAULT_CIPHER_NAME| Constructor and Description |
|---|
KeyAuthorizationKeyProvider(KeyProviderCryptoExtension keyProvider,
KeyAuthorizationKeyProvider.KeyACLs acls)
The constructor takes a
KeyProviderCryptoExtension and an
implementation of KeyACLs. |
close, createKeyProviderCryptoExtensiongetExtensionbuildVersionName, findProvider, generateKey, getBaseName, getConf, optionspublic static final String KEY_ACL
public KeyAuthorizationKeyProvider(KeyProviderCryptoExtension keyProvider, KeyAuthorizationKeyProvider.KeyACLs acls)
KeyProviderCryptoExtension and an
implementation of KeyACLs. All calls are delegated to the
provider keyProvider after authorization check (if required)keyProvider - acls - public KeyProvider.KeyVersion createKey(String name, KeyProvider.Options options) throws NoSuchAlgorithmException, IOException
createKey in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>NoSuchAlgorithmExceptionIOExceptionpublic KeyProvider.KeyVersion createKey(String name, byte[] material, KeyProvider.Options options) throws IOException
createKey in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>IOExceptionpublic KeyProvider.KeyVersion rollNewVersion(String name) throws NoSuchAlgorithmException, IOException
rollNewVersion in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>NoSuchAlgorithmExceptionIOExceptionpublic void deleteKey(String name) throws IOException
deleteKey in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>IOExceptionpublic KeyProvider.KeyVersion rollNewVersion(String name, byte[] material) throws IOException
rollNewVersion in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>IOExceptionpublic void warmUpEncryptedKeys(String... names) throws IOException
warmUpEncryptedKeys in class KeyProviderCryptoExtensionIOExceptionpublic KeyProviderCryptoExtension.EncryptedKeyVersion generateEncryptedKey(String encryptionKeyName) throws IOException, GeneralSecurityException
generateEncryptedKey in class KeyProviderCryptoExtensionIOExceptionGeneralSecurityExceptionpublic KeyProvider.KeyVersion decryptEncryptedKey(KeyProviderCryptoExtension.EncryptedKeyVersion encryptedKeyVersion) throws IOException, GeneralSecurityException
decryptEncryptedKey in class KeyProviderCryptoExtensionIOExceptionGeneralSecurityExceptionpublic KeyProvider.KeyVersion getKeyVersion(String versionName) throws IOException
getKeyVersion in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>IOExceptionpublic List<String> getKeys() throws IOException
getKeys in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>IOExceptionpublic List<KeyProvider.KeyVersion> getKeyVersions(String name) throws IOException
getKeyVersions in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>IOExceptionpublic KeyProvider.Metadata getMetadata(String name) throws IOException
getMetadata in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>IOExceptionpublic KeyProvider.Metadata[] getKeysMetadata(String... names) throws IOException
getKeysMetadata in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>IOExceptionpublic KeyProvider.KeyVersion getCurrentKey(String name) throws IOException
getCurrentKey in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>IOExceptionpublic void flush()
throws IOException
flush in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>IOExceptionpublic boolean isTransient()
isTransient in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>protected KeyProvider getKeyProvider()
getKeyProvider in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>public String toString()
toString in class KeyProviderExtension<KeyProviderCryptoExtension.CryptoExtension>Copyright © 2018 CERN. All Rights Reserved.