HADOOP-10936. Change default KeyProvider bitlength to 128. (wang)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1615850 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andrew Wang 2014-08-05 02:32:44 +00:00
parent 513dc29ce8
commit b7e67db372
5 changed files with 28 additions and 8 deletions

View File

@ -197,6 +197,8 @@ Trunk (Unreleased)
HADOOP-10793. KeyShell args should use single-dash style. (wang)
HADOOP-10936. Change default KeyProvider bitlength to 128. (wang)
BUG FIXES
HADOOP-9451. Fault single-layer config if node group topology is enabled.

View File

@ -54,7 +54,7 @@ public abstract class KeyProvider {
public static final String DEFAULT_CIPHER = "AES/CTR/NoPadding";
public static final String DEFAULT_BITLENGTH_NAME =
"hadoop.security.key.default.bitlength";
public static final int DEFAULT_BITLENGTH = 256;
public static final int DEFAULT_BITLENGTH = 128;
/**
* The combination of both the key version name and the key material.
@ -341,6 +341,16 @@ public String getDescription() {
public Map<String, String> getAttributes() {
return (attributes == null) ? Collections.EMPTY_MAP : attributes;
}
@Override
public String toString() {
return "Options{" +
"cipher='" + cipher + '\'' +
", bitLength=" + bitLength +
", description='" + description + '\'' +
", attributes=" + attributes +
'}';
}
}
/**

View File

@ -445,7 +445,7 @@ private class CreateCommand extends Command {
"by the <keyname> argument within the provider specified by the\n" +
"-provider argument. You may specify a cipher with the -cipher\n" +
"argument. The default cipher is currently \"AES/CTR/NoPadding\".\n" +
"The default keysize is 256. You may specify the requested key\n" +
"The default keysize is 128. You may specify the requested key\n" +
"length using the -size argument. Arbitrary attribute=value\n" +
"style attributes may be specified using the -attr argument.\n" +
"-attr may be specified multiple times, once per attribute.\n";
@ -479,7 +479,8 @@ public void execute() throws IOException, NoSuchAlgorithmException {
warnIfTransientProvider();
try {
provider.createKey(keyName, options);
out.println(keyName + " has been successfully created.");
out.println(keyName + " has been successfully created with options "
+ options.toString() + ".");
provider.flush();
printProviderWritten();
} catch (InvalidParameterException e) {

View File

@ -110,7 +110,7 @@ public void testKeySuccessfulKeyLifecycle() throws Exception {
rc = ks.run(args1);
assertEquals(0, rc);
assertTrue(outContent.toString().contains(keyName + " has been " +
"successfully created."));
"successfully created"));
String listOut = listKeys(ks, false);
assertTrue(listOut.contains(keyName));
@ -145,7 +145,7 @@ public void testKeySuccessfulCreationWithDescription() throws Exception {
rc = ks.run(args1);
assertEquals(0, rc);
assertTrue(outContent.toString().contains("key1 has been successfully " +
"created."));
"created"));
String listOut = listKeys(ks, true);
assertTrue(listOut.contains("description"));
@ -233,7 +233,7 @@ public void testFullCipher() throws Exception {
rc = ks.run(args1);
assertEquals(0, rc);
assertTrue(outContent.toString().contains(keyName + " has been " +
"successfully " + "created."));
"successfully created"));
deleteKey(ks, keyName);
}
@ -250,7 +250,7 @@ public void testAttributes() throws Exception {
rc = ks.run(args1);
assertEquals(0, rc);
assertTrue(outContent.toString().contains("keyattr1 has been " +
"successfully " + "created."));
"successfully created"));
/* ...and list to see that we have the attr */
String listOut = listKeys(ks, true);

View File

@ -181,12 +181,19 @@ public void contextInitialized(ServletContextEvent sce) {
keyProvider = new CachingKeyProvider(keyProvider, keyTimeOutMillis,
currKeyTimeOutMillis);
}
LOG.info("Initialized KeyProvider " + keyProvider);
keyProviderCryptoExtension = KeyProviderCryptoExtension.
createKeyProviderCryptoExtension(keyProvider);
keyProviderCryptoExtension =
new EagerKeyGeneratorKeyProviderCryptoExtension(kmsConf,
keyProviderCryptoExtension);
LOG.info("Initialized KeyProviderCryptoExtension "
+ keyProviderCryptoExtension);
final int defaultBitlength = kmsConf
.getInt(KeyProvider.DEFAULT_BITLENGTH_NAME,
KeyProvider.DEFAULT_BITLENGTH);
LOG.info("Default key bitlength is {}", defaultBitlength);
LOG.info("KMS Started");
} catch (Throwable ex) {
System.out.println();