X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fdatarouter%2FApplication.java;h=d27a4a2e241e5e560f7f7f0adc2b302790bf3e91;hb=refs%2Fheads%2Fmaster;hp=245797c6e2ad490bfdaf010ca7d2a310f71d9ea6;hpb=89a0e48dce48a915682000b90de43b70871aff75;p=aai%2Fdata-router.git diff --git a/src/main/java/org/onap/aai/datarouter/Application.java b/src/main/java/org/onap/aai/datarouter/Application.java index 245797c..d27a4a2 100644 --- a/src/main/java/org/onap/aai/datarouter/Application.java +++ b/src/main/java/org/onap/aai/datarouter/Application.java @@ -24,20 +24,29 @@ import java.util.HashMap; import javax.annotation.PostConstruct; import org.apache.camel.component.servlet.CamelHttpTransportServlet; import org.eclipse.jetty.util.security.Password; +import org.onap.aai.config.EdgesConfiguration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.ServletRegistrationBean; -import org.springframework.boot.web.support.SpringBootServletInitializer; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.PropertySource; import org.springframework.core.env.Environment; +import org.springframework.context.annotation.FilterType; @SpringBootApplication +@ComponentScan(basePackages = {"org.onap.aai.config", "org.onap.aai.setup", "org.onap.aai.datarouter"}, excludeFilters = { +@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, +value = EdgesConfiguration.class)}) +@PropertySource(value = "file:${CONFIG_HOME}/schemaIngest.properties") public class Application extends SpringBootServletInitializer{ private static final String CAMEL_URL_MAPPING = "/*"; private static final String CAMEL_SERVLET_NAME = "CamelServlet"; + private static final String JETTY_OBFUSCATION_PATTERN = "OBF:"; @Autowired private Environment env; @@ -47,11 +56,24 @@ public class Application extends SpringBootServletInitializer{ if(keyStorePassword==null || keyStorePassword.isEmpty()){ throw new RuntimeException("Env property KEY_STORE_PASSWORD not set"); } + HashMap props = new HashMap<>(); - props.put("server.ssl.key-store-password", Password.deobfuscate(keyStorePassword)); - new Application().configure(new SpringApplicationBuilder(Application.class).properties(props)).run(args); + String deobfuscatedKeyStorePassword = keyStorePassword.startsWith(JETTY_OBFUSCATION_PATTERN)?Password.deobfuscate(keyStorePassword):keyStorePassword; + props.put("server.ssl.key-store-password", deobfuscatedKeyStorePassword); + + String trustStoreLocation = System.getenv("TRUST_STORE_LOCATION"); + String trustStorePassword = System.getenv("TRUST_STORE_PASSWORD"); + if(trustStoreLocation!=null && trustStorePassword !=null){ + trustStorePassword = trustStorePassword.startsWith(JETTY_OBFUSCATION_PATTERN)?Password.deobfuscate(trustStorePassword):trustStorePassword; + props.put("server.ssl.trust-store", trustStoreLocation); + props.put("server.ssl.trust-store-password", trustStorePassword); + } + String requireClientAuth = System.getenv("REQUIRE_CLIENT_AUTH"); + props.put("server.ssl.client-auth", + Boolean.FALSE.toString().equalsIgnoreCase(requireClientAuth) ? "want" : "need"); + new Application().configure(new SpringApplicationBuilder(Application.class).properties(props)).run(args); } @Bean @@ -62,7 +84,7 @@ public class Application extends SpringBootServletInitializer{ } /** - * Set required trust store system properties using values from application.properties + * Set required system properties using values from application.properties and schemaIngest.properties */ @PostConstruct public void setSystemProperties() { @@ -77,8 +99,18 @@ public class Application extends SpringBootServletInitializer{ throw new IllegalArgumentException("Env property server.ssl.key-store-password not set"); } } - } + String schemaServiceKeyStorePassword = env.getProperty("schema.service.ssl.key-store-password"); + if( (schemaServiceKeyStorePassword != null) && (schemaServiceKeyStorePassword.startsWith(JETTY_OBFUSCATION_PATTERN))){ + System.setProperty("schema.service.ssl.key-store-password", Password.deobfuscate(schemaServiceKeyStorePassword)); + } + + String schemaServiceTrustStorePassword = env.getProperty("schema.service.ssl.trust-store-password"); + if ( (schemaServiceTrustStorePassword != null) && (schemaServiceTrustStorePassword.startsWith(JETTY_OBFUSCATION_PATTERN)) ){ + System.setProperty("schema.service.ssl.trust-store-password", Password.deobfuscate(schemaServiceTrustStorePassword)); + } + + } } \ No newline at end of file