From 41a3f1b3b0e14fb1df40273adb4b4b1937c5a977 Mon Sep 17 00:00:00 2001 From: Mohammadreza Pasandideh Date: Mon, 13 Aug 2018 16:37:33 -0400 Subject: Added code for password obfuscation Issue-ID: SDNC-317 Change-Id: I5114f1dd7dd093e9df6ebd3d91c3cbd47ef31ef9 Signed-off-by: Mohammadreza Pasandideh --- .../AuthorizationConfiguration.java | 12 +++---- .../service/rs/RestServiceImpl.java | 6 ++-- .../test/AuthorizationConfigurationTest.java | 39 ++++++++++++++++++++++ .../test/ServiceDecompositionTest.java | 6 ++-- 4 files changed, 52 insertions(+), 11 deletions(-) create mode 100644 pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/AuthorizationConfigurationTest.java (limited to 'pomba/service-decomposition/src') diff --git a/pomba/service-decomposition/src/main/java/org/onap/sdnc/apps/pomba/servicedecomposition/AuthorizationConfiguration.java b/pomba/service-decomposition/src/main/java/org/onap/sdnc/apps/pomba/servicedecomposition/AuthorizationConfiguration.java index f54f387..7cac0cd 100644 --- a/pomba/service-decomposition/src/main/java/org/onap/sdnc/apps/pomba/servicedecomposition/AuthorizationConfiguration.java +++ b/pomba/service-decomposition/src/main/java/org/onap/sdnc/apps/pomba/servicedecomposition/AuthorizationConfiguration.java @@ -19,6 +19,7 @@ package org.onap.sdnc.apps.pomba.servicedecomposition; import java.util.Base64; +import org.eclipse.jetty.util.security.Password; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; @@ -29,13 +30,12 @@ public class AuthorizationConfiguration { @Value("${basicAuth.username:admin}") private String username; - @Value("${basicAuth.password:admin}") + @Value("${basicAuth.password:OBF:1u2a1toa1w8v1tok1u30}") private String password; - @Bean(name="basicAuthHeader") - public String getBasicAuthHeader() { - return "Basic " + Base64.getEncoder().encodeToString((this.username + ":" + this.password).getBytes()); + @Bean(name="serviceDecompositionBasicAuthHeader") + public String getSdBasicAuthHeader() { + String auth = new String(this.username + ":" + Password.deobfuscate(this.password)); + return "Basic " + Base64.getEncoder().encodeToString(auth.getBytes()); } - - } diff --git a/pomba/service-decomposition/src/main/java/org/onap/sdnc/apps/pomba/servicedecomposition/service/rs/RestServiceImpl.java b/pomba/service-decomposition/src/main/java/org/onap/sdnc/apps/pomba/servicedecomposition/service/rs/RestServiceImpl.java index 12c3935..5ec6bca 100644 --- a/pomba/service-decomposition/src/main/java/org/onap/sdnc/apps/pomba/servicedecomposition/service/rs/RestServiceImpl.java +++ b/pomba/service-decomposition/src/main/java/org/onap/sdnc/apps/pomba/servicedecomposition/service/rs/RestServiceImpl.java @@ -45,8 +45,8 @@ public class RestServiceImpl implements RestService { @Autowired private SpringService service; - @Resource(name="basicAuthHeader") - private String basicAuthHeader; + @Resource(name="serviceDecompositionBasicAuthHeader") + private String serviceDecompositionBasicAuthHeader; public RestServiceImpl() {} @@ -61,7 +61,7 @@ public class RestServiceImpl implements RestService { adapter.getServiceDescriptor().setServiceName(SERVICE_NAME); adapter.entering(request); try { - if (authorization == null || !this.basicAuthHeader.equals(authorization)) { + if (authorization == null || !this.serviceDecompositionBasicAuthHeader.equals(authorization)) { throw new DiscoveryException(UNAUTHORIZED, Status.UNAUTHORIZED); } diff --git a/pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/AuthorizationConfigurationTest.java b/pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/AuthorizationConfigurationTest.java new file mode 100644 index 0000000..4c7830b --- /dev/null +++ b/pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/AuthorizationConfigurationTest.java @@ -0,0 +1,39 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END===================================================== + */ + +package org.onap.sdnc.apps.pomba.servicedecomposition.test; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import org.junit.Test; +import org.onap.sdnc.apps.pomba.servicedecomposition.AuthorizationConfiguration; + +public class AuthorizationConfigurationTest +{ + AuthorizationConfiguration authorizationConfiguration = + mock(AuthorizationConfiguration.class); + + @Test + public void testGetSdBasicAuthHeader() { + String msg = "Basic YWRtaW46YWRtaW4="; + when(authorizationConfiguration.getSdBasicAuthHeader()).thenReturn(msg); + assertEquals(msg, authorizationConfiguration.getSdBasicAuthHeader()); + } +} diff --git a/pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/ServiceDecompositionTest.java b/pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/ServiceDecompositionTest.java index ba20a88..771ca99 100644 --- a/pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/ServiceDecompositionTest.java +++ b/pomba/service-decomposition/src/test/java/org/onap/sdnc/apps/pomba/servicedecomposition/test/ServiceDecompositionTest.java @@ -36,6 +36,7 @@ import javax.servlet.http.HttpServletRequest; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; +import org.eclipse.jetty.util.security.Password; import org.json.JSONArray; import org.json.JSONObject; import org.junit.Rule; @@ -61,11 +62,12 @@ import org.springframework.test.context.web.WebAppConfiguration; "aai.host=localhost", "aai.port=8081", "basicAuth.username=admin", - "basicAuth.password=admin" + "basicAuth.password=OBF:1u2a1toa1w8v1tok1u30" }) public class ServiceDecompositionTest { - private static final String AUTH = "Basic " + Base64.getEncoder().encodeToString("admin:admin".getBytes()); + private static final String AUTH = "Basic " + Base64.getEncoder().encodeToString(( + "admin:" + Password.deobfuscate("OBF:1u2a1toa1w8v1tok1u30")).getBytes()); // TODO missing code coverage for VNFC resources -- cgit