X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=datarouter-node%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fnode%2FNodeUtils.java;h=5cca73753deeda0f7b0ca510c87a0331659d57ff;hb=bda6aeaa60607ab4fe5af508156019d7bd5c0ce4;hp=d4fc7dbe604835e4a81faa9446c7da9059fad4a0;hpb=56bef7eb388a5783ec27e7d641ea3e0f64e7abbd;p=dmaap%2Fdatarouter.git diff --git a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeUtils.java b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeUtils.java index d4fc7dbe..5cca7375 100644 --- a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeUtils.java +++ b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/NodeUtils.java @@ -47,8 +47,11 @@ import java.util.Enumeration; import java.util.TimeZone; import java.util.UUID; import java.util.zip.GZIPInputStream; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import javax.naming.InvalidNameException; +import javax.naming.ldap.LdapName; +import javax.naming.ldap.Rdn; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.StringUtils; import org.onap.dmaap.datarouter.node.eelf.EelfMsgs; @@ -59,8 +62,7 @@ import org.slf4j.MDC; */ public class NodeUtils { - private static EELFLogger eelfLogger = EELFManager.getInstance() - .getLogger(NodeUtils.class); + private static final EELFLogger eelfLogger = EELFManager.getInstance().getLogger(NodeUtils.class); private NodeUtils() { } @@ -96,14 +98,14 @@ public class NodeUtils { */ public static String getNodeAuthHdr(String node, String key) { try { - MessageDigest md = MessageDigest.getInstance("SHA"); + MessageDigest md = MessageDigest.getInstance("SHA-512"); md.update(key.getBytes()); md.update(node.getBytes()); md.update(key.getBytes()); return (getAuthHdr(node, base64Encode(md.digest()))); } catch (Exception exception) { eelfLogger - .error("Exception in generating Credentials for given node name:= " + exception.toString(), + .error("Exception in generating Credentials for given node name:= " + exception.getMessage(), exception); return (null); } @@ -315,15 +317,16 @@ public class NodeUtils { X509Certificate cert = (X509Certificate) ks.getCertificate(alias); if (cert != null) { String subject = cert.getSubjectX500Principal().getName(); - String[] parts = subject.split(","); - if (parts.length < 1) { - return null; + try { + LdapName ln = new LdapName(subject); + for (Rdn rdn : ln.getRdns()) { + if (rdn.getType().equalsIgnoreCase("CN")) { + return rdn.getValue().toString(); + } + } + } catch (InvalidNameException e) { + eelfLogger.error("No valid CN not found for dr-node cert", e); } - subject = parts[5].trim(); - if (!subject.startsWith("CN=")) { - return null; - } - return subject.substring(3); } } return null;