HADOOP-10841. EncryptedKeyVersion should have a key name property. (asuresh via tucu)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1611540 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Alejandro Abdelnur 2014-07-18 05:40:35 +00:00
parent 2c5ceee6ab
commit 7f06998bf2
3 changed files with 14 additions and 3 deletions

View File

@ -177,6 +177,9 @@ Trunk (Unreleased)
HADOOP-10824. Refactor KMSACLs to avoid locking. (Benoy Antony via umamahesh) HADOOP-10824. Refactor KMSACLs to avoid locking. (Benoy Antony via umamahesh)
HADOOP-10841. EncryptedKeyVersion should have a key name property.
(asuresh via tucu)
BUG FIXES BUG FIXES
HADOOP-9451. Fault single-layer config if node group topology is enabled. HADOOP-9451. Fault single-layer config if node group topology is enabled.

View File

@ -44,17 +44,23 @@ public class KeyProviderCryptoExtension extends
* used to generate the encrypted Key and the encrypted KeyVersion * used to generate the encrypted Key and the encrypted KeyVersion
*/ */
public static class EncryptedKeyVersion { public static class EncryptedKeyVersion {
private String keyName;
private String keyVersionName; private String keyVersionName;
private byte[] iv; private byte[] iv;
private KeyVersion encryptedKey; private KeyVersion encryptedKey;
protected EncryptedKeyVersion(String keyVersionName, byte[] iv, protected EncryptedKeyVersion(String keyName, String keyVersionName,
KeyVersion encryptedKey) { byte[] iv, KeyVersion encryptedKey) {
this.keyName = keyName;
this.keyVersionName = keyVersionName; this.keyVersionName = keyVersionName;
this.iv = iv; this.iv = iv;
this.encryptedKey = encryptedKey; this.encryptedKey = encryptedKey;
} }
public String getKeyName() {
return keyName;
}
public String getKeyVersionName() { public String getKeyVersionName() {
return keyVersionName; return keyVersionName;
} }
@ -153,7 +159,8 @@ public EncryptedKeyVersion generateEncryptedKey(KeyVersion keyVersion)
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(keyVer.getMaterial(), cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(keyVer.getMaterial(),
"AES"), new IvParameterSpec(flipIV(iv))); "AES"), new IvParameterSpec(flipIV(iv)));
byte[] ek = cipher.doFinal(newKey); byte[] ek = cipher.doFinal(newKey);
return new EncryptedKeyVersion(keyVersion.getVersionName(), iv, return new EncryptedKeyVersion(keyVersion.getName(),
keyVersion.getVersionName(), iv,
new KeyVersion(keyVer.getName(), EEK, ek)); new KeyVersion(keyVer.getName(), EEK, ek));
} }

View File

@ -45,6 +45,7 @@ public void testGenerateEncryptedKey() throws Exception {
kpExt.generateEncryptedKey(kv); kpExt.generateEncryptedKey(kv);
Assert.assertEquals(KeyProviderCryptoExtension.EEK, Assert.assertEquals(KeyProviderCryptoExtension.EEK,
ek1.getEncryptedKey().getVersionName()); ek1.getEncryptedKey().getVersionName());
Assert.assertEquals("foo", ek1.getKeyName());
Assert.assertNotNull(ek1.getEncryptedKey().getMaterial()); Assert.assertNotNull(ek1.getEncryptedKey().getMaterial());
Assert.assertEquals(kv.getMaterial().length, Assert.assertEquals(kv.getMaterial().length,
ek1.getEncryptedKey().getMaterial().length); ek1.getEncryptedKey().getMaterial().length);