Example usage for org.apache.hadoop.crypto.key.kms.server KMSConfiguration KMS_CONFIG_DIR

List of usage examples for org.apache.hadoop.crypto.key.kms.server KMSConfiguration KMS_CONFIG_DIR

Introduction

In this page you can find the example usage for org.apache.hadoop.crypto.key.kms.server KMSConfiguration KMS_CONFIG_DIR.

Prototype

String KMS_CONFIG_DIR

To view the source code for org.apache.hadoop.crypto.key.kms.server KMSConfiguration KMS_CONFIG_DIR.

Click Source Link

Usage

From source file:org.apache.coheigea.bigdata.kms.ranger.RangerKeyStoreProviderTest.java

License:Apache License

@org.junit.Test
public void testCreateDeleteKey() throws Throwable {

    Path configDir = Paths.get("src/test/resources/kms");
    System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());

    Configuration conf = new Configuration();
    RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);

    // Create a key
    Options options = new Options(conf);
    options.setBitLength(128);//from   ww  w  .  ja va 2s  .  com
    options.setCipher("AES");
    KeyVersion keyVersion = keyProvider.createKey("newkey1", options);
    Assert.assertEquals("newkey1", keyVersion.getName());
    Assert.assertEquals(128 / 8, keyVersion.getMaterial().length);
    Assert.assertEquals("newkey1@0", keyVersion.getVersionName());

    keyProvider.flush();
    Assert.assertEquals(1, keyProvider.getKeys().size());
    keyProvider.deleteKey("newkey1");

    keyProvider.flush();
    Assert.assertEquals(0, keyProvider.getKeys().size());

    // Try to delete a key that isn't there
    try {
        keyProvider.deleteKey("newkey2");
        Assert.fail("Failure expected on trying to delete an unknown key");
    } catch (IOException ex) {
        // expected
    }
}

From source file:org.apache.coheigea.bigdata.kms.ranger.RangerKeyStoreProviderTest.java

License:Apache License

@org.junit.Test
public void testRolloverKey() throws Throwable {

    Path configDir = Paths.get("src/test/resources/kms");
    System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());

    Configuration conf = new Configuration();
    RangerKeyStoreProvider keyProvider = new RangerKeyStoreProvider(conf);

    // Create a key
    Options options = new Options(conf);
    options.setBitLength(192);/*from  w ww . j a v a 2 s .  c  o m*/
    options.setCipher("AES");
    KeyVersion keyVersion = keyProvider.createKey("newkey1", options);
    Assert.assertEquals("newkey1", keyVersion.getName());
    Assert.assertEquals(192 / 8, keyVersion.getMaterial().length);
    Assert.assertEquals("newkey1@0", keyVersion.getVersionName());

    keyProvider.flush();

    // Rollover a new key
    byte[] oldKey = keyVersion.getMaterial();
    keyVersion = keyProvider.rollNewVersion("newkey1");
    Assert.assertEquals("newkey1", keyVersion.getName());
    Assert.assertEquals(192 / 8, keyVersion.getMaterial().length);
    Assert.assertEquals("newkey1@1", keyVersion.getVersionName());
    Assert.assertFalse(Arrays.equals(oldKey, keyVersion.getMaterial()));

    keyProvider.deleteKey("newkey1");

    keyProvider.flush();
    Assert.assertEquals(0, keyProvider.getKeys().size());

}

From source file:org.apache.coheigea.bigdata.kms.ranger.RangerKmsAuthorizerTest.java

License:Apache License

@BeforeClass
public static void startServers() throws Exception {
    DerbyTestUtils.startDerby();//  www.j av  a2  s  .c o m

    Path configDir = Paths.get("src/test/resources/kms");
    System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());

    // Start KMSWebApp
    ServletContextEvent servletContextEvent = EasyMock.createMock(ServletContextEvent.class);
    ServletContext servletContext = EasyMock.createMock(ServletContext.class);
    EasyMock.expect(servletContextEvent.getServletContext()).andReturn(servletContext).anyTimes();
    EasyMock.replay(servletContextEvent);

    kmsWebapp = new KMSWebApp();
    kmsWebapp.contextInitialized(servletContextEvent);
}

From source file:org.apache.coheigea.bigdata.kms.ranger.RangerMasterKeyTest.java

License:Apache License

@org.junit.Test
public void testRangerMasterKey() throws Throwable {

    Path configDir = Paths.get("src/test/resources/kms");
    System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());

    RangerKMSDB rangerkmsDb = new RangerKMSDB(RangerKeyStoreProvider.getDBKSConf());
    DaoManager daoManager = rangerkmsDb.getDaoManager();

    String masterKeyPassword = "password0password0password0password0password0password0password0password0"
            + "password0password0password0password0password0password0password0password0password0password0"
            + "password0password0password0password0password0password0password0password0password0password0";

    RangerMasterKey rangerMasterKey = new RangerMasterKey(daoManager);
    Assert.assertTrue(rangerMasterKey.generateMasterKey(masterKeyPassword));
    Assert.assertNotNull(rangerMasterKey.getMasterKey(masterKeyPassword));

    try {/*  www . j av  a2  s . c o  m*/
        rangerMasterKey.getMasterKey("badpass");
        Assert.fail("Failure expected on retrieving a key with the wrong password");
    } catch (Throwable t) {
        // expected
    }

    Assert.assertNotNull(rangerMasterKey.getMasterSecretKey(masterKeyPassword));

    try {
        rangerMasterKey.getMasterSecretKey("badpass");
        Assert.fail("Failure expected on retrieving a key with the wrong password");
    } catch (Throwable t) {
        // expected
    }
}

From source file:org.apache.ranger.authorization.kms.authorizer.RangerKmsAuthorizerTest.java

License:Apache License

@BeforeClass
public static void startServers() throws Exception {
    if (!UNRESTRICTED_POLICIES_INSTALLED) {
        return;/*  w  ww. j  a  v  a2s  .c o m*/
    }
    DerbyTestUtils.startDerby();

    Path configDir = Paths.get("src/test/resources/kms");
    System.setProperty(KMSConfiguration.KMS_CONFIG_DIR, configDir.toFile().getAbsolutePath());

    // Start KMSWebApp
    ServletContextEvent servletContextEvent = Mockito.mock(ServletContextEvent.class);
    ServletContext servletContext = Mockito.mock(ServletContext.class);
    Mockito.when(servletContextEvent.getServletContext()).thenReturn(servletContext);

    kmsWebapp = new KMSWebApp();
    kmsWebapp.contextInitialized(servletContextEvent);
}