List of usage examples for org.apache.hadoop.crypto.key KeyProviderCryptoExtension createKeyProviderCryptoExtension
public static KeyProviderCryptoExtension createKeyProviderCryptoExtension(KeyProvider keyProvider)
KeyProviderCryptoExtension
using a given KeyProvider . From source file:com.mellanox.r4h.DFSClient.java
License:Apache License
/** * Decrypts a EDEK by consulting the KeyProvider. *//*from w w w .j ava 2 s . c o m*/ private KeyVersion decryptEncryptedDataEncryptionKey(FileEncryptionInfo feInfo) throws IOException { TraceScope scope = Trace.startSpan("decryptEDEK", traceSampler); try { KeyProvider provider = getKeyProvider(); if (provider == null) { throw new IOException("No KeyProvider is configured, cannot access" + " an encrypted file"); } EncryptedKeyVersion ekv = EncryptedKeyVersion.createForDecryption(feInfo.getKeyName(), feInfo.getEzKeyVersionName(), feInfo.getIV(), feInfo.getEncryptedDataEncryptionKey()); try { KeyProviderCryptoExtension cryptoProvider = KeyProviderCryptoExtension .createKeyProviderCryptoExtension(provider); return cryptoProvider.decryptEncryptedKey(ekv); } catch (GeneralSecurityException e) { throw new IOException(e); } } finally { scope.close(); } }