Search in sources :

Example 11 with DefaultCryptoService

use of org.apache.knox.gateway.services.security.impl.DefaultCryptoService in project knox by apache.

the class ShiroDeploymentContributorTest method testDeployment.

@Test
public void testDeployment() throws IOException {
    WebArchive webArchive = ShrinkWrap.create(WebArchive.class, "test-archive");
    Map<String, String> providerParams = new HashMap<>();
    Provider provider = new Provider();
    provider.setEnabled(true);
    provider.setName("shiro");
    provider.setParams(providerParams);
    Topology topology = new Topology();
    topology.setName("Sample");
    DeploymentContext context = EasyMock.createNiceMock(DeploymentContext.class);
    EasyMock.expect(context.getWebArchive()).andReturn(webArchive).anyTimes();
    EasyMock.expect(context.getWebAppDescriptor()).andReturn(Descriptors.create(WebAppDescriptor.class)).anyTimes();
    EasyMock.expect(context.getTopology()).andReturn(topology).anyTimes();
    EasyMock.replay(context);
    AliasService as = EasyMock.createNiceMock(AliasService.class);
    CryptoService cryptoService = new DefaultCryptoService();
    ((DefaultCryptoService) cryptoService).setAliasService(as);
    GatewayServices gatewayServices = EasyMock.createNiceMock(GatewayServices.class);
    EasyMock.expect(gatewayServices.getService(GatewayServices.CRYPTO_SERVICE)).andReturn(cryptoService).anyTimes();
    ShiroDeploymentContributor contributor = new ShiroDeploymentContributor();
    assertThat(contributor.getRole(), is("authentication"));
    assertThat(contributor.getName(), is("ShiroProvider"));
    // Just make sure it doesn't blow up.
    contributor.initializeContribution(context);
    contributor.contributeProvider(context, provider);
    // Just make sure it doesn't blow up.
    contributor.finalizeContribution(context);
    assertThat(context.getWebAppDescriptor().getOrCreateSessionConfig().getOrCreateCookieConfig().isHttpOnly(), is(true));
    assertThat(context.getWebAppDescriptor().getOrCreateSessionConfig().getOrCreateCookieConfig().isSecure(), is(true));
}
Also used : DeploymentContext(org.apache.knox.gateway.deploy.DeploymentContext) GatewayServices(org.apache.knox.gateway.services.GatewayServices) AliasService(org.apache.knox.gateway.services.security.AliasService) HashMap(java.util.HashMap) DefaultCryptoService(org.apache.knox.gateway.services.security.impl.DefaultCryptoService) CryptoService(org.apache.knox.gateway.services.security.CryptoService) WebArchive(org.jboss.shrinkwrap.api.spec.WebArchive) Topology(org.apache.knox.gateway.topology.Topology) DefaultCryptoService(org.apache.knox.gateway.services.security.impl.DefaultCryptoService) Provider(org.apache.knox.gateway.topology.Provider) Test(org.junit.Test)

Example 12 with DefaultCryptoService

use of org.apache.knox.gateway.services.security.impl.DefaultCryptoService in project knox by apache.

the class DefaultGatewayServices method init.

public void init(GatewayConfig config, Map<String, String> options) throws ServiceLifecycleException {
    ms = new DefaultMasterService();
    ms.init(config, options);
    services.put("MasterService", ms);
    ks = new DefaultKeystoreService();
    ks.setMasterService(ms);
    ks.init(config, options);
    services.put(KEYSTORE_SERVICE, ks);
    DefaultAliasService alias = new DefaultAliasService();
    alias.setKeystoreService(ks);
    alias.setMasterService(ms);
    alias.init(config, options);
    services.put(ALIAS_SERVICE, alias);
    DefaultCryptoService crypto = new DefaultCryptoService();
    crypto.setKeystoreService(ks);
    crypto.setAliasService(alias);
    crypto.init(config, options);
    services.put(CRYPTO_SERVICE, crypto);
    DefaultTokenAuthorityService ts = new DefaultTokenAuthorityService();
    ts.setAliasService(alias);
    ts.setKeystoreService(ks);
    ts.init(config, options);
    // prolly should not allow the token service to be looked up?
    services.put(TOKEN_SERVICE, ts);
    JettySSLService ssl = new JettySSLService();
    ssl.setAliasService(alias);
    ssl.setKeystoreService(ks);
    ssl.setMasterService(ms);
    ssl.init(config, options);
    services.put(SSL_SERVICE, ssl);
    DefaultServiceRegistryService sr = new DefaultServiceRegistryService();
    sr.setCryptoService(crypto);
    sr.init(config, options);
    services.put(SERVICE_REGISTRY_SERVICE, sr);
    DefaultHostMapperService hm = new DefaultHostMapperService();
    hm.init(config, options);
    services.put(HOST_MAPPING_SERVICE, hm);
    DefaultServerInfoService sis = new DefaultServerInfoService();
    sis.init(config, options);
    services.put(SERVER_INFO_SERVICE, sis);
    RemoteConfigurationRegistryClientService registryClientService = RemoteConfigurationRegistryClientServiceFactory.newInstance(config);
    registryClientService.setAliasService(alias);
    registryClientService.init(config, options);
    services.put(REMOTE_REGISTRY_CLIENT_SERVICE, registryClientService);
    DefaultClusterConfigurationMonitorService ccs = new DefaultClusterConfigurationMonitorService();
    ccs.setAliasService(alias);
    ccs.init(config, options);
    services.put(CLUSTER_CONFIGURATION_MONITOR_SERVICE, ccs);
    DefaultTopologyService tops = new DefaultTopologyService();
    tops.setAliasService(alias);
    tops.init(config, options);
    services.put(TOPOLOGY_SERVICE, tops);
    DefaultServiceDefinitionRegistry sdr = new DefaultServiceDefinitionRegistry();
    sdr.init(config, options);
    services.put(SERVICE_DEFINITION_REGISTRY, sdr);
    DefaultMetricsService metricsService = new DefaultMetricsService();
    metricsService.init(config, options);
    services.put(METRICS_SERVICE, metricsService);
}
Also used : DefaultHostMapperService(org.apache.knox.gateway.services.hostmap.impl.DefaultHostMapperService) DefaultClusterConfigurationMonitorService(org.apache.knox.gateway.services.topology.impl.DefaultClusterConfigurationMonitorService) DefaultAliasService(org.apache.knox.gateway.services.security.impl.DefaultAliasService) DefaultTopologyService(org.apache.knox.gateway.services.topology.impl.DefaultTopologyService) DefaultMetricsService(org.apache.knox.gateway.services.metrics.impl.DefaultMetricsService) RemoteConfigurationRegistryClientService(org.apache.knox.gateway.services.config.client.RemoteConfigurationRegistryClientService) DefaultServiceDefinitionRegistry(org.apache.knox.gateway.services.registry.impl.DefaultServiceDefinitionRegistry) DefaultKeystoreService(org.apache.knox.gateway.services.security.impl.DefaultKeystoreService) DefaultServiceRegistryService(org.apache.knox.gateway.services.registry.impl.DefaultServiceRegistryService) DefaultMasterService(org.apache.knox.gateway.services.security.impl.DefaultMasterService) DefaultCryptoService(org.apache.knox.gateway.services.security.impl.DefaultCryptoService) DefaultTokenAuthorityService(org.apache.knox.gateway.services.token.impl.DefaultTokenAuthorityService) JettySSLService(org.apache.knox.gateway.services.security.impl.JettySSLService)

Example 13 with DefaultCryptoService

use of org.apache.knox.gateway.services.security.impl.DefaultCryptoService in project knox by apache.

the class CryptoServiceTest method setupSuite.

@BeforeClass
public static void setupSuite() throws Exception {
    as = new AliasService() {

        @Override
        public void init(GatewayConfig config, Map<String, String> options) throws ServiceLifecycleException {
        }

        @Override
        public void start() throws ServiceLifecycleException {
        }

        @Override
        public void stop() throws ServiceLifecycleException {
        }

        @Override
        public void addAliasForCluster(String clusterName, String alias, String value) {
        }

        @Override
        public char[] getPasswordFromAliasForCluster(String clusterName, String alias) {
            return "password".toCharArray();
        }

        @Override
        public char[] getPasswordFromAliasForCluster(String clusterName, String alias, boolean generate) {
            return null;
        }

        @Override
        public void generateAliasForCluster(String clusterName, String alias) {
        }

        @Override
        public char[] getPasswordFromAliasForGateway(String alias) {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public void generateAliasForGateway(String alias) {
        // TODO Auto-generated method stub
        }

        @Override
        public Certificate getCertificateForGateway(String alias) {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public void removeAliasForCluster(String clusterName, String alias) {
        }

        @Override
        public List<String> getAliasesForCluster(String clusterName) {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public char[] getGatewayIdentityPassphrase() throws AliasServiceException {
            // TODO Auto-generated method stub
            return null;
        }
    };
    cs = new DefaultCryptoService();
    ((DefaultCryptoService) cs).setAliasService(as);
}
Also used : ServiceLifecycleException(org.apache.knox.gateway.services.ServiceLifecycleException) List(java.util.List) DefaultCryptoService(org.apache.knox.gateway.services.security.impl.DefaultCryptoService) GatewayConfig(org.apache.knox.gateway.config.GatewayConfig) Certificate(java.security.cert.Certificate) BeforeClass(org.junit.BeforeClass)

Aggregations

DefaultCryptoService (org.apache.knox.gateway.services.security.impl.DefaultCryptoService)13 GatewayServices (org.apache.knox.gateway.services.GatewayServices)10 AliasService (org.apache.knox.gateway.services.security.AliasService)10 Test (org.junit.Test)10 CryptoService (org.apache.knox.gateway.services.security.CryptoService)7 UrlRewriteEnvironment (org.apache.knox.gateway.filter.rewrite.api.UrlRewriteEnvironment)6 HashMap (java.util.HashMap)5 UrlRewriteContext (org.apache.knox.gateway.filter.rewrite.spi.UrlRewriteContext)4 Capture (org.easymock.Capture)4 AuditContext (org.apache.knox.gateway.audit.api.AuditContext)3 AuditService (org.apache.knox.gateway.audit.api.AuditService)3 Auditor (org.apache.knox.gateway.audit.api.Auditor)3 DeploymentContext (org.apache.knox.gateway.deploy.DeploymentContext)3 Pac4jDispatcherFilter (org.apache.knox.gateway.pac4j.filter.Pac4jDispatcherFilter)3 Pac4jIdentityAdapter (org.apache.knox.gateway.pac4j.filter.Pac4jIdentityAdapter)3 Provider (org.apache.knox.gateway.topology.Provider)3 Topology (org.apache.knox.gateway.topology.Topology)3 Template (org.apache.knox.gateway.util.urltemplate.Template)3 WebArchive (org.jboss.shrinkwrap.api.spec.WebArchive)3 UrlRewriteStepStatus (org.apache.knox.gateway.filter.rewrite.spi.UrlRewriteStepStatus)2