Address weak crypto issues 70/122970/1
authorDan Timoney <dtimoney@att.com>
Thu, 29 Jul 2021 15:11:15 +0000 (11:11 -0400)
committerDan Timoney <dtimoney@att.com>
Thu, 29 Jul 2021 15:11:15 +0000 (11:11 -0400)
Fix 2 weak cryptography issues identified by SonarCloud scans.

Issue-ID: CCSDK-3196
Signed-off-by: Dan Timoney <dtimoney@att.com>
Change-Id: I0fee14e7a96badeac8a278de4d74ef244c24f06f

ms/neng/pom.xml
ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/service/extinf/impl/PolicyFinderServiceImpl.java
ms/vlantag-api/src/main/java/org/onap/ccsdk/apps/ms/vlantagapi/core/ApplicationSecurityConfig.java

index e2d8aef..ef3f5a5 100644 (file)
             <artifactId>jest</artifactId>
             <version>5.3.3</version>
         </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>utils-provider</artifactId>
+            <version>${ccsdk.sli.version}</version>
+        </dependency>
     </dependencies>
 
     <build>
index d577dc4..3351033 100644 (file)
@@ -46,6 +46,7 @@ import org.onap.ccsdk.apps.ms.neng.core.resource.model.GetConfigRequestV2;
 import org.onap.ccsdk.apps.ms.neng.core.resource.model.GetConfigResponse;
 import org.onap.ccsdk.apps.ms.neng.core.rs.interceptors.PolicyManagerAuthorizationInterceptor;
 import org.onap.ccsdk.apps.ms.neng.extinf.props.PolicyManagerProps;
+import org.onap.ccsdk.sli.core.utils.common.AcceptIpAddressHostNameVerifier;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.web.client.RestTemplateBuilder;
@@ -233,7 +234,7 @@ public class PolicyFinderServiceImpl implements PolicyFinder {
         TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true;
         SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom()
                         .loadTrustMaterial(null, acceptingTrustStrategy).build();
-        HostnameVerifier verifier = (String arg0, SSLSession arg1) -> true;
+        HostnameVerifier verifier = new AcceptIpAddressHostNameVerifier();
         SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext, verifier);
         CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(csf).build();
         HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
index bd0abe6..80c42fb 100644 (file)
@@ -29,6 +29,7 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur
 import org.springframework.security.config.http.SessionCreationPolicy;\r
 import org.springframework.security.core.userdetails.User;\r
 import org.springframework.security.core.userdetails.UserDetails;\r
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;\r
 import org.springframework.security.crypto.factory.PasswordEncoderFactories;\r
 import org.springframework.security.crypto.password.PasswordEncoder;\r
 import org.springframework.security.provisioning.InMemoryUserDetailsManager;\r
@@ -51,7 +52,8 @@ public class ApplicationSecurityConfig extends WebSecurityConfigurerAdapter{
        protected void configure(AuthenticationManagerBuilder auth) throws Exception {\r
                List<UserDetails> userDetails = new ArrayList<>();\r
                \r
-               PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();\r
+               // Explicitly set bcrypt password encoder rather than using default\r
+               PasswordEncoder encoder = new BCryptPasswordEncoder();\r
        final User.UserBuilder userBuilder = User.builder().passwordEncoder(encoder::encode);\r
 \r
                String authString = environment.getProperty("application.authToken");\r