use of org.apache.knox.gateway.services.security.AliasService in project knox by apache.
the class RemoteConfigurationRegistryJAASConfigTest method testZooKeeperMultipleContextEntries.
@Test
public void testZooKeeperMultipleContextEntries() throws Exception {
List<RemoteConfigurationRegistryConfig> registryConfigs = new ArrayList<>();
final String KERBEROS_ENTRY_NAME = "my_kerberos_context";
final String KERBEROS_PRINCIPAL = "myKerberosIdentity";
final String DIGEST_ENTRY_NAME = "my_digest_context";
final String DIGEST_PRINCIPAL = "myDigestIdentity";
final String DIGEST_PWD_ALIAS = "myAlias";
final String DIGEST_PWD = "mysecret";
AliasService aliasService = EasyMock.createNiceMock(AliasService.class);
EasyMock.expect(aliasService.getPasswordFromAliasForGateway(DIGEST_PWD_ALIAS)).andReturn(DIGEST_PWD.toCharArray()).anyTimes();
EasyMock.replay(aliasService);
File dummyKeyTab = File.createTempFile("my_context", "keytab");
registryConfigs.add(createKerberosConfig(KERBEROS_ENTRY_NAME, KERBEROS_PRINCIPAL, dummyKeyTab.getAbsolutePath()));
registryConfigs.add(createDigestConfig(DIGEST_ENTRY_NAME, DIGEST_PRINCIPAL, DIGEST_PWD_ALIAS));
try {
RemoteConfigurationRegistryJAASConfig jaasConfig = RemoteConfigurationRegistryJAASConfig.configure(registryConfigs, aliasService);
// Make sure there are no entries for an invalid context entry name
assertNull(jaasConfig.getAppConfigurationEntry("invalid"));
// Validate the kerberos context entry
validateKerberosContext(jaasConfig, KERBEROS_ENTRY_NAME, KERBEROS_PRINCIPAL, dummyKeyTab.getAbsolutePath(), true, false);
// Validate the digest context entry
validateDigestContext(jaasConfig, DIGEST_ENTRY_NAME, RemoteConfigurationRegistryJAASConfig.digestLoginModules.get("ZOOKEEPER"), DIGEST_PRINCIPAL, DIGEST_PWD);
} finally {
Configuration.setConfiguration(null);
}
}
use of org.apache.knox.gateway.services.security.AliasService in project knox by apache.
the class CredentialResource method getCredentialsList.
/**
* @return
*/
private List<String> getCredentialsList() {
GatewayServices services = (GatewayServices) request.getServletContext().getAttribute(GatewayServices.GATEWAY_SERVICES_ATTRIBUTE);
String clusterName = (String) request.getServletContext().getAttribute(GatewayServices.GATEWAY_CLUSTER_ATTRIBUTE);
AliasService as = services.getService(GatewayServices.ALIAS_SERVICE);
List<String> aliases = null;
try {
aliases = as.getAliasesForCluster(clusterName);
} catch (AliasServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return aliases;
}
use of org.apache.knox.gateway.services.security.AliasService in project knox by apache.
the class GatewayLdapDynamicGroupFuncTest method setupGateway.
public static void setupGateway() throws IOException, Exception {
File targetDir = new File(System.getProperty("user.dir"), "target");
File gatewayDir = new File(targetDir, "gateway-home-" + UUID.randomUUID());
gatewayDir.mkdirs();
GatewayTestConfig testConfig = new GatewayTestConfig();
config = testConfig;
testConfig.setGatewayHomeDir(gatewayDir.getAbsolutePath());
File topoDir = new File(testConfig.getGatewayTopologyDir());
topoDir.mkdirs();
File deployDir = new File(testConfig.getGatewayDeploymentDir());
deployDir.mkdirs();
DefaultGatewayServices srvcs = new DefaultGatewayServices();
Map<String, String> options = new HashMap<>();
options.put("persist-master", "false");
options.put("master", "password");
try {
srvcs.init(testConfig, options);
} catch (ServiceLifecycleException e) {
// I18N not required.
e.printStackTrace();
}
/*
System.setProperty(GatewayConfig.GATEWAY_HOME_VAR, gatewayDir.getAbsolutePath());
System.err.println("GH 10: " + System.getProperty(GatewayConfig.GATEWAY_HOME_VAR));
ByteArrayOutputStream outContent = new ByteArrayOutputStream();
System.setOut(new PrintStream(outContent));
String[] argvals = {"create-alias", "ldcSystemPassword", "--value", "guest-password", "--master", "hadoop", "--cluster", "testdg-cluster"};
KnoxCLI cli = new KnoxCLI();
cli.setConf(new GatewayConfigImpl());
cli.run(argvals);
outContent.reset();
String[] args1 = {"list-alias", "--cluster", "testdg-cluster", "--master", "hadoop"};
cli = new KnoxCLI();
cli.run(args1);
System.err.println("ALIAS LIST: " + outContent.toString());
AliasService as1 = cli.getGatewayServices().getService(GatewayServices.ALIAS_SERVICE);
char[] passwordChars1 = as1.getPasswordFromAliasForCluster( "test-cluster", "ldcsystemPassword");
System.err.println("ALIAS value1: " + new String(passwordChars1));
*/
gateway = GatewayServer.startGateway(testConfig, srvcs);
MatcherAssert.assertThat("Failed to start gateway.", gateway, notNullValue());
LOG.info("Gateway port = " + gateway.getAddresses()[0].getPort());
gatewayUrl = "http://localhost:" + gateway.getAddresses()[0].getPort() + "/" + config.getGatewayPath();
clusterUrl = gatewayUrl + "/testdg-cluster";
serviceUrl = clusterUrl + "/test-service-path/test-service-resource";
// /*
GatewayServices services = GatewayServer.getGatewayServices();
AliasService aliasService = (AliasService) services.getService(GatewayServices.ALIAS_SERVICE);
aliasService.addAliasForCluster("testdg-cluster", "ldcSystemPassword", "guest-password");
// char[] password1 = aliasService.getPasswordFromAliasForCluster( "testdg-cluster", "ldcSystemPassword");
// System.err.println("SETUP password 10: " + ((password1 == null) ? "NULL" : new String(password1)));
File descriptor = new File(topoDir, "testdg-cluster.xml");
FileOutputStream stream = new FileOutputStream(descriptor);
createTopology().toStream(stream);
stream.close();
}
use of org.apache.knox.gateway.services.security.AliasService in project knox by apache.
the class GatewayLdapGroupFuncTest method setupGateway.
public static void setupGateway() throws Exception {
File targetDir = new File(System.getProperty("user.dir"), "target");
File gatewayDir = new File(targetDir, "gateway-home-" + UUID.randomUUID());
gatewayDir.mkdirs();
GatewayTestConfig testConfig = new GatewayTestConfig();
config = testConfig;
testConfig.setGatewayHomeDir(gatewayDir.getAbsolutePath());
File topoDir = new File(testConfig.getGatewayTopologyDir());
topoDir.mkdirs();
File deployDir = new File(testConfig.getGatewayDeploymentDir());
deployDir.mkdirs();
DefaultGatewayServices srvcs = new DefaultGatewayServices();
Map<String, String> options = new HashMap<>();
options.put("persist-master", "true");
options.put("master", "hadoop");
try {
srvcs.init(testConfig, options);
} catch (ServiceLifecycleException e) {
// I18N not required.
e.printStackTrace();
}
/*
System.setProperty(GatewayConfig.GATEWAY_HOME_VAR, gatewayDir.getAbsolutePath());
System.err.println("GH 10: " + System.getProperty(GatewayConfig.GATEWAY_HOME_VAR));
ByteArrayOutputStream outContent = new ByteArrayOutputStream();
System.setOut(new PrintStream(outContent));
String[] argvals = {"create-alias", "ldcSystemPassword", "--value", "guest-password", "--master", "hadoop", "--cluster", "test-cluster"};
KnoxCLI cli = new KnoxCLI();
cli.setConf(new GatewayConfigImpl());
cli.run(argvals);
outContent.reset();
String[] args1 = {"list-alias", "--cluster", "test-cluster", "--master", "hadoop"};
cli = new KnoxCLI();
cli.run(args1);
System.err.println("ALIAS LIST: " + outContent.toString());
AliasService as1 = cli.getGatewayServices().getService(GatewayServices.ALIAS_SERVICE);
char[] passwordChars1 = as1.getPasswordFromAliasForCluster( "test-cluster", "ldcsystemPassword");
System.err.println("ALIAS value1: " + new String(passwordChars1));
*/
gateway = GatewayServer.startGateway(testConfig, srvcs);
MatcherAssert.assertThat("Failed to start gateway.", gateway, notNullValue());
LOG.info("Gateway port = " + gateway.getAddresses()[0].getPort());
gatewayUrl = "http://localhost:" + gateway.getAddresses()[0].getPort() + "/" + config.getGatewayPath();
clusterUrl = gatewayUrl + "/test-cluster";
serviceUrl = clusterUrl + "/test-service-path/test-service-resource";
// /*
GatewayServices services = GatewayServer.getGatewayServices();
AliasService aliasService = (AliasService) services.getService(GatewayServices.ALIAS_SERVICE);
aliasService.addAliasForCluster("test-cluster", "ldcSystemPassword", "guest-password");
// char[] password1 = aliasService.getPasswordFromAliasForCluster( "test-cluster", "ldcSystemPassword");
// System.err.println("SETUP password 10: " + ((password1 == null) ? "NULL" : new String(password1)));
File descriptor = new File(topoDir, "test-cluster.xml");
FileOutputStream stream = new FileOutputStream(descriptor);
createTopology().toStream(stream);
stream.close();
}
use of org.apache.knox.gateway.services.security.AliasService in project knox by apache.
the class Knox242FuncTest method setupGateway.
public static void setupGateway() throws IOException, Exception {
File targetDir = new File(System.getProperty("user.dir"), "target");
File gatewayDir = new File(targetDir, "gateway-home-" + UUID.randomUUID());
gatewayDir.mkdirs();
GatewayTestConfig testConfig = new GatewayTestConfig();
config = testConfig;
testConfig.setGatewayHomeDir(gatewayDir.getAbsolutePath());
File topoDir = new File(testConfig.getGatewayTopologyDir());
topoDir.mkdirs();
File deployDir = new File(testConfig.getGatewayDeploymentDir());
deployDir.mkdirs();
DefaultGatewayServices srvcs = new DefaultGatewayServices();
Map<String, String> options = new HashMap<>();
options.put("persist-master", "false");
options.put("master", "password");
try {
srvcs.init(testConfig, options);
} catch (ServiceLifecycleException e) {
// I18N not required.
e.printStackTrace();
}
gateway = GatewayServer.startGateway(testConfig, srvcs);
MatcherAssert.assertThat("Failed to start gateway.", gateway, notNullValue());
LOG.info("Gateway port = " + gateway.getAddresses()[0].getPort());
gatewayUrl = "http://localhost:" + gateway.getAddresses()[0].getPort() + "/" + config.getGatewayPath();
clusterUrl = gatewayUrl + "/testdg-cluster";
serviceUrl = clusterUrl + "/test-service-path/test-service-resource";
GatewayServices services = GatewayServer.getGatewayServices();
AliasService aliasService = (AliasService) services.getService(GatewayServices.ALIAS_SERVICE);
aliasService.addAliasForCluster("testdg-cluster", "ldcSystemPassword", "guest-password");
// char[] password1 = aliasService.getPasswordFromAliasForCluster( "testdg-cluster", "ldcSystemPassword");
// System.err.println("SETUP password 10: " + ((password1 == null) ? "NULL" : new String(password1)));
File descriptor = new File(topoDir, "testdg-cluster.xml");
FileOutputStream stream = new FileOutputStream(descriptor);
createTopology().toStream(stream);
stream.close();
}
Aggregations