Fix X509 injection 25/96625/2
authorsebdet <sebastien.determe@intl.att.com>
Fri, 4 Oct 2019 14:12:51 +0000 (16:12 +0200)
committerSébastien Determe <sebastien.determe@intl.att.com>
Fri, 4 Oct 2019 14:14:40 +0000 (14:14 +0000)
Url Decode before using the certificate

Issue-ID: CLAMP-519
Change-Id: I7b0e9926a7ae6c50f2e5fafa73b20d733725b076
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
src/main/java/org/onap/clamp/clds/filter/ClampCadiFilter.java

index 3a93942..7e104c7 100644 (file)
@@ -30,6 +30,8 @@ import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.net.URLDecoder;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.StandardCopyOption;
 import java.security.cert.CertificateException;
 import java.security.cert.CertificateFactory;
@@ -142,7 +144,8 @@ public class ClampCadiFilter extends CadiFilter {
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
             throws IOException, ServletException {
         try {
-            String certHeader = ((HttpServletRequest) request).getHeader("X-SSL-Cert");
+            String certHeader = URLDecoder.decode(((HttpServletRequest) request).getHeader("X-SSL-Cert"),
+                    StandardCharsets.UTF_8.toString());
             if (certHeader != null) {
 
                 CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");