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;
*/
public class NodeUtils {
- private static EELFLogger eelfLogger = EELFManager.getInstance()
- .getLogger(NodeUtils.class);
+ private static final EELFLogger eelfLogger = EELFManager.getInstance().getLogger(NodeUtils.class);
private 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);
}
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;