set server truststore params optionally in search
[aai/search-data-service.git] / src / main / java / org / onap / aai / sa / Application.java
1 /**\r
2  * ============LICENSE_START=======================================================\r
3  * org.onap.aai\r
4  * ================================================================================\r
5  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.\r
6  * Copyright © 2017-2018 Amdocs\r
7  * ================================================================================\r
8  * Licensed under the Apache License, Version 2.0 (the "License");\r
9  * you may not use this file except in compliance with the License.\r
10  * You may obtain a copy of the License at\r
11  *\r
12  *       http://www.apache.org/licenses/LICENSE-2.0\r
13  *\r
14  * Unless required by applicable law or agreed to in writing, software\r
15  * distributed under the License is distributed on an "AS IS" BASIS,\r
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17  * See the License for the specific language governing permissions and\r
18  * limitations under the License.\r
19  * ============LICENSE_END=========================================================\r
20  */\r
21 package org.onap.aai.sa;\r
22 \r
23 import java.util.HashMap;\r
24 import org.eclipse.jetty.util.security.Password;\r
25 import org.springframework.boot.autoconfigure.SpringBootApplication;\r
26 import org.springframework.boot.builder.SpringApplicationBuilder;\r
27 import org.springframework.boot.web.support.SpringBootServletInitializer;\r
28 \r
29 @SpringBootApplication\r
30 public class Application extends SpringBootServletInitializer {\r
31 \r
32     public static void main(String[] args) {\r
33         String keyStorePassword = System.getProperty("KEY_STORE_PASSWORD");\r
34         if (keyStorePassword == null || keyStorePassword.isEmpty()) {\r
35             throw new RuntimeException("Env property KEY_STORE_PASSWORD not set");\r
36         }\r
37         HashMap<String, Object> props = new HashMap<>();\r
38         String deobfuscatedKeyStorePassword = keyStorePassword.startsWith("OBF:") ? Password.deobfuscate(keyStorePassword) : keyStorePassword;\r
39         props.put("server.ssl.key-store-password", deobfuscatedKeyStorePassword);\r
40 \r
41         String trustStoreLocation = System.getProperty("TRUST_STORE_LOCATION");\r
42         String trustStorePassword = System.getProperty("TRUST_STORE_PASSWORD");\r
43         if (trustStoreLocation != null && trustStorePassword != null) {\r
44             trustStorePassword = trustStorePassword.startsWith("OBF:") ? Password.deobfuscate(trustStorePassword) : trustStorePassword;\r
45             props.put("server.ssl.trust-store", trustStoreLocation);\r
46             props.put("server.ssl.trust-store-password", trustStorePassword);\r
47         }\r
48 \r
49         new Application().configure(new SpringApplicationBuilder(Application.class).properties(props)).run(args);\r
50     }\r
51 }\r