This is an automated email from the ASF dual-hosted git repository.
krisden pushed a commit to branch v1.3.0
in repository https://gitbox.apache.org/repos/asf/knox.git
The following commit(s) were added to refs/heads/v1.3.0 by this push:
new 7ad3982 KNOX-1915 - X509CertificateUtil SAN should contain fully
qualified hostname
7ad3982 is described below
commit 7ad398259d020130a60a43da4d5088d22a10664e
Author: Kevin Risden <[email protected]>
AuthorDate: Mon Jul 1 15:20:47 2019 -0400
KNOX-1915 - X509CertificateUtil SAN should contain fully qualified hostname
Signed-off-by: Kevin Risden <[email protected]>
---
.../org/apache/knox/gateway/util/X509CertificateUtil.java | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git
a/gateway-util-common/src/main/java/org/apache/knox/gateway/util/X509CertificateUtil.java
b/gateway-util-common/src/main/java/org/apache/knox/gateway/util/X509CertificateUtil.java
index 03bd3fa..de0f810 100644
---
a/gateway-util-common/src/main/java/org/apache/knox/gateway/util/X509CertificateUtil.java
+++
b/gateway-util-common/src/main/java/org/apache/knox/gateway/util/X509CertificateUtil.java
@@ -179,6 +179,7 @@ public class X509CertificateUtil {
// Pull the hostname out of the DN
String hostname = dn.split(",", 2)[0].split("=", 2)[1];
if("localhost".equals(hostname)) {
+ // Add short hostname
String detectedHostname = InetAddress.getLocalHost().getHostName();
// DNSName dnsName = new DNSName(detectedHostname);
Object dnsNameObject = dnsNameConstr.newInstance(detectedHostname);
@@ -186,6 +187,17 @@ public class X509CertificateUtil {
Object generalNameObject =
generalNameConstr.newInstance(dnsNameObject);
// generalNames.add(generalName);
generalNamesAdd.invoke(generalNamesObject, generalNameObject);
+
+ // Add fully qualified hostname
+ String detectedFullyQualifiedHostname =
InetAddress.getLocalHost().getCanonicalHostName();
+ // DNSName dnsName = new DNSName(detectedFullyQualifiedHostname);
+ Object fullyQualifiedDnsNameObject = dnsNameConstr.newInstance(
+ detectedFullyQualifiedHostname);
+ // GeneralName generalName = new
GeneralName(fullyQualifiedDnsNameObject);
+ Object fullyQualifiedGeneralNameObject = generalNameConstr.newInstance(
+ fullyQualifiedDnsNameObject);
+ // generalNames.add(fullyQualifiedGeneralNameObject);
+ generalNamesAdd.invoke(generalNamesObject,
fullyQualifiedGeneralNameObject);
}
// DNSName dnsName = new DNSName(hostname);