From d4b95298902c8cea1411fc696ed80028b6091aa7 Mon Sep 17 00:00:00 2001 From: Rafael Cavazin <rafaelcavazin@gmail.com> Date: Thu, 06 Dec 2012 11:25:01 -0500 Subject: [PATCH] Update from upstream/master --- src/com/gitblit/utils/X509Utils.java | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/src/com/gitblit/utils/X509Utils.java b/src/com/gitblit/utils/X509Utils.java index cfad9ec..237c8da 100644 --- a/src/com/gitblit/utils/X509Utils.java +++ b/src/com/gitblit/utils/X509Utils.java @@ -46,11 +46,13 @@ import java.security.cert.X509Certificate; import java.text.MessageFormat; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.TimeZone; @@ -556,6 +558,16 @@ certBuilder.addExtension(X509Extension.basicConstraints, false, new BasicConstraints(false)); certBuilder.addExtension(X509Extension.authorityKeyIdentifier, false, extUtils.createAuthorityKeyIdentifier(caCert.getPublicKey())); + // support alternateSubjectNames for SSL certificates + List<GeneralName> altNames = new ArrayList<GeneralName>(); + if (HttpUtils.isIpAddress(sslMetadata.commonName)) { + altNames.add(new GeneralName(GeneralName.iPAddress, sslMetadata.commonName)); + } + if (altNames.size() > 0) { + GeneralNames subjectAltName = new GeneralNames(altNames.toArray(new GeneralName [altNames.size()])); + certBuilder.addExtension(X509Extension.subjectAlternativeName, false, subjectAltName); + } + ContentSigner caSigner = new JcaContentSignerBuilder(SIGNING_ALGORITHM) .setProvider(BC).build(caPrivateKey); X509Certificate cert = new JcaX509CertificateConverter().setProvider(BC) -- Gitblit v1.9.1