From 5d2049205065592d53d6dc5413f9e5570060c377 Mon Sep 17 00:00:00 2001 From: Gabriel Landais <glandais@kereval.com> Date: Mon, 28 Feb 2011 16:59:14 +0000 Subject: [PATCH] Proxy and PKI mix up TLS can be activated on all proxy channels with provided or PKI certificates git-svn-id: https://scm.gforge.inria.fr/authscm/ycadoret/svn/gazelle/Maven/gazelle-proxy/trunk@20741 356b4b1a-1d2b-0410-8bf1-ffa24008f01e --- .../protocols/https/AlwaysTrustManager.java | 28 --- .../protocols/https/HttpsCredentials.java | 68 ------- .../protocols/https/HttpsKeyManager.java | 57 ------ .../netty/protocols/https/HttpsProxy.java | 26 --- .../protocols/https/HttpsProxyConfig.java | 80 -------- .../protocols/https/HttpsSampleKeyStore.java | 188 ------------------ .../netty/protocols/https/HttpsTLSConfig.java | 22 -- 7 files changed, 469 deletions(-) delete mode 100644 gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/AlwaysTrustManager.java delete mode 100644 gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsCredentials.java delete mode 100644 gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsKeyManager.java delete mode 100644 gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsProxy.java delete mode 100644 gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsProxyConfig.java delete mode 100644 gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsSampleKeyStore.java delete mode 100644 gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsTLSConfig.java diff --git a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/AlwaysTrustManager.java b/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/AlwaysTrustManager.java deleted file mode 100644 index 4314bbe6..00000000 --- a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/AlwaysTrustManager.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.ihe.gazelle.proxy.netty.protocols.https; - -import java.security.cert.CertificateException; -import java.security.cert.X509Certificate; - -import javax.net.ssl.X509TrustManager; - -import org.apache.log4j.Logger; - -public class AlwaysTrustManager implements X509TrustManager { - - private static Logger log = Logger.getLogger(AlwaysTrustManager.class); - - public X509Certificate[] getAcceptedIssuers() { - return new X509Certificate[0]; - } - - public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { - // Always trust - log.info("UNKNOWN CLIENT CERTIFICATE: " + chain[0].getSubjectDN()); - } - - public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { - // Always trust - log.info("UNKNOWN SERVER CERTIFICATE: " + chain[0].getSubjectDN()); - } - -} diff --git a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsCredentials.java b/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsCredentials.java deleted file mode 100644 index 59d8a644..00000000 --- a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsCredentials.java +++ /dev/null @@ -1,68 +0,0 @@ -package net.ihe.gazelle.proxy.netty.protocols.https; - -import java.io.InputStream; -import java.security.Key; -import java.security.KeyStore; -import java.security.PrivateKey; -import java.security.cert.Certificate; -import java.security.cert.X509Certificate; -import java.util.Enumeration; - -public class HttpsCredentials { - - private X509Certificate[] certificateChain; - private PrivateKey privateKey; - - public HttpsCredentials(InputStream keyStoreStream, char[] keyStorePassword, String alias, char[] privateKeyPassword) { - try { - KeyStore ks = KeyStore.getInstance("JKS"); - ks.load(keyStoreStream, keyStorePassword); - - Certificate[] certificates = ks.getCertificateChain(alias); - certificateChain = new X509Certificate[certificates.length]; - System.arraycopy(certificates, 0, certificateChain, 0, certificates.length); - - Key key = ks.getKey(alias, privateKeyPassword); - privateKey = (PrivateKey) key; - } catch (Exception e) { - throw new Error("Failed to load credentials from keystore", e); - } - } - - public HttpsCredentials(InputStream p12Stream, char[] keyStorePassword) { - try { - KeyStore ks = KeyStore.getInstance("PKCS12"); - ks.load(p12Stream, keyStorePassword); - - Enumeration<String> aliases = ks.aliases(); - for (; aliases.hasMoreElements();) { - String alias = aliases.nextElement(); - - Certificate[] certificates = ks.getCertificateChain(alias); - certificateChain = new X509Certificate[certificates.length]; - System.arraycopy(certificates, 0, certificateChain, 0, certificates.length); - - Key key = ks.getKey(alias, keyStorePassword); - privateKey = (PrivateKey) key; - } - - } catch (Exception e) { - throw new Error("Failed to load credentials from keystore", e); - } - } - - public HttpsCredentials(X509Certificate[] certificateChain, PrivateKey privateKey) { - super(); - this.certificateChain = certificateChain; - this.privateKey = privateKey; - } - - public X509Certificate[] getCertificateChain() { - return certificateChain; - } - - public PrivateKey getPrivateKey() { - return privateKey; - } - -} diff --git a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsKeyManager.java b/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsKeyManager.java deleted file mode 100644 index 8e68797b..00000000 --- a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsKeyManager.java +++ /dev/null @@ -1,57 +0,0 @@ -package net.ihe.gazelle.proxy.netty.protocols.https; - -import java.net.Socket; -import java.security.Principal; -import java.security.PrivateKey; -import java.security.cert.X509Certificate; - -import javax.net.ssl.SSLEngine; -import javax.net.ssl.X509ExtendedKeyManager; - -public class HttpsKeyManager extends X509ExtendedKeyManager { - - private static final String ALIAS = "default"; - private HttpsCredentials credentials; - - public HttpsKeyManager(HttpsCredentials credentials) { - super(); - this.credentials = credentials; - } - - public String[] getClientAliases(String paramString, Principal[] paramArrayOfPrincipal) { - return new String[] { ALIAS }; - } - - public String chooseClientAlias(String[] paramArrayOfString, Principal[] paramArrayOfPrincipal, Socket paramSocket) { - return ALIAS; - } - - public String[] getServerAliases(String paramString, Principal[] paramArrayOfPrincipal) { - return new String[] { ALIAS }; - } - - public String chooseServerAlias(String paramString, Principal[] paramArrayOfPrincipal, Socket paramSocket) { - return ALIAS; - } - - public X509Certificate[] getCertificateChain(String paramString) { - return credentials.getCertificateChain(); - } - - public PrivateKey getPrivateKey(String paramString) { - return credentials.getPrivateKey(); - } - - @Override - public String chooseEngineClientAlias(String[] paramArrayOfString, Principal[] paramArrayOfPrincipal, - SSLEngine paramSSLEngine) { - return ALIAS; - } - - @Override - public String chooseEngineServerAlias(String paramString, Principal[] paramArrayOfPrincipal, - SSLEngine paramSSLEngine) { - return ALIAS; - } - -} diff --git a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsProxy.java b/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsProxy.java deleted file mode 100644 index c22ab0bb..00000000 --- a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsProxy.java +++ /dev/null @@ -1,26 +0,0 @@ -package net.ihe.gazelle.proxy.netty.protocols.https; - -import net.ihe.gazelle.proxy.netty.ProxyConfig; -import net.ihe.gazelle.proxy.netty.ProxyEventListener; -import net.ihe.gazelle.proxy.netty.protocols.http.HttpProxy; - -import org.jboss.netty.channel.socket.ClientSocketChannelFactory; -import org.jboss.netty.handler.codec.http.HttpRequest; -import org.jboss.netty.handler.codec.http.HttpResponse; - -public class HttpsProxy extends HttpProxy { - - public HttpsProxy(ProxyEventListener<HttpRequest, HttpResponse> proxyEvent, int localPort, String remoteHost, - int remotePort, HttpsTLSConfig tlsConfig) { - super(proxyEvent, localPort, remoteHost, remotePort); - ((HttpsProxyConfig) proxyConfig).initContexts(tlsConfig); - } - - @Override - protected ProxyConfig<HttpRequest, HttpResponse> getProxyConfig( - ProxyEventListener<HttpRequest, HttpResponse> eventListener, ClientSocketChannelFactory cf, int localPort, - String remoteHost, int remotePort) { - return new HttpsProxyConfig(eventListener, cf, localPort, remoteHost, remotePort); - } - -} diff --git a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsProxyConfig.java b/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsProxyConfig.java deleted file mode 100644 index c6fccd14..00000000 --- a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsProxyConfig.java +++ /dev/null @@ -1,80 +0,0 @@ -package net.ihe.gazelle.proxy.netty.protocols.https; - -import java.util.Collections; -import java.util.List; - -import javax.net.ssl.KeyManager; -import javax.net.ssl.SSLContext; -import javax.net.ssl.SSLEngine; -import javax.net.ssl.TrustManager; - -import net.ihe.gazelle.proxy.netty.ProxyEventListener; -import net.ihe.gazelle.proxy.netty.protocols.http.HttpProxyConfig; - -import org.jboss.netty.channel.ChannelHandler; -import org.jboss.netty.channel.socket.ClientSocketChannelFactory; -import org.jboss.netty.handler.codec.http.HttpRequest; -import org.jboss.netty.handler.codec.http.HttpResponse; -import org.jboss.netty.handler.ssl.SslHandler; - -public class HttpsProxyConfig extends HttpProxyConfig { - - private static final String PROTOCOL = "TLS"; - private static final TrustManager[] ALWAYS_TRUST_MANAGER = new TrustManager[] { new AlwaysTrustManager() }; - - private SSLContext serverContext = null; - private SSLContext clientContext = null; - - public HttpsProxyConfig(ProxyEventListener<HttpRequest, HttpResponse> eventListener, ClientSocketChannelFactory cf, - int localPort, String remoteHost, int remotePort) { - super(eventListener, cf, localPort, remoteHost, remotePort); - } - - public void initContexts(HttpsTLSConfig tlsConfig) { - clientContext = createContext(tlsConfig.getClientCredentials()); - serverContext = createContext(tlsConfig.getServerCredentials()); - } - - private SSLContext createContext(HttpsCredentials credentials) { - SSLContext context = null; - try { - context = SSLContext.getInstance(PROTOCOL); - if (credentials == null) { - context.init(null, ALWAYS_TRUST_MANAGER, null); - } else { - KeyManager keyManager = getKeyManager(credentials); - KeyManager[] keyManagers = new KeyManager[] { keyManager }; - context.init(keyManagers, ALWAYS_TRUST_MANAGER, null); - } - } catch (Exception e) { - throw new Error("Failed to initialize the SSLContext", e); - } - return context; - } - - private KeyManager getKeyManager(HttpsCredentials clientCredentials) { - return new HttpsKeyManager(clientCredentials); - } - - @Override - public List<ChannelHandler> getRequestConnectionHandlers() { - SSLEngine engine = serverContext.createSSLEngine(); - engine.setUseClientMode(false); - return Collections.singletonList(getChannelHandler(engine)); -// return null; - } - - @Override - public List<ChannelHandler> getResponseConnectionHandlers() { - SSLEngine engine = clientContext.createSSLEngine(); - engine.setUseClientMode(true); - return Collections.singletonList(getChannelHandler(engine)); - } - - private ChannelHandler getChannelHandler(SSLEngine engine) { - SslHandler sslHandler = new SslHandler(engine); - sslHandler.setEnableRenegotiation(true); - return sslHandler; - } - -} diff --git a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsSampleKeyStore.java b/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsSampleKeyStore.java deleted file mode 100644 index 8b411c3e..00000000 --- a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsSampleKeyStore.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Copyright 2009 Red Hat, Inc. - * - * Red Hat licenses this file to you under the Apache License, version 2.0 - * (the "License"); you may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ -package net.ihe.gazelle.proxy.netty.protocols.https; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; - -/** - * A bogus key store which provides all the required information to create an - * example SSL connection. - * - * To generate a bogus key store: - * - * <pre> - * keytool -genkey -alias securechat -keysize 2048 -validity 36500 - * -keyalg RSA -dname "CN=securechat" - * -keypass secret -storepass secret - * -keystore cert.jks - * </pre> - * - * @author <a href="http://www.jboss.org/netty/">The Netty Project</a> - * @author <a href="http://gleamynode.net/">Trustin Lee</a> - * - * @version $Rev: 2080 $, $Date: 2010-01-26 10:04:19 +0100 (mar. 26 janv. 2010) - * $ - */ -public class HttpsSampleKeyStore { - private static final short[] DATA = new short[] { 0xfe, 0xed, 0xfe, 0xed, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x00, 0x00, 0x01, 0x1a, - 0x9f, 0x57, 0xa5, 0x27, 0x00, 0x00, 0x01, 0x9a, 0x30, 0x82, 0x01, 0x96, 0x30, 0x0e, 0x06, 0x0a, 0x2b, 0x06, - 0x01, 0x04, 0x01, 0x2a, 0x02, 0x11, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82, 0x01, 0x82, 0x48, 0x6d, 0xcf, 0x16, - 0xb5, 0x50, 0x95, 0x36, 0xbf, 0x47, 0x27, 0x50, 0x58, 0x0d, 0xa2, 0x52, 0x7e, 0x25, 0xab, 0x14, 0x1a, 0x26, - 0x5e, 0x2d, 0x8a, 0x23, 0x90, 0x60, 0x7f, 0x12, 0x20, 0x56, 0xd1, 0x43, 0xa2, 0x6b, 0x47, 0x5d, 0xed, 0x9d, - 0xd4, 0xe5, 0x83, 0x28, 0x89, 0xc2, 0x16, 0x4c, 0x76, 0x06, 0xad, 0x8e, 0x8c, 0x29, 0x1a, 0x9b, 0x0f, 0xdd, - 0x60, 0x4b, 0xb4, 0x62, 0x82, 0x9e, 0x4a, 0x63, 0x83, 0x2e, 0xd2, 0x43, 0x78, 0xc2, 0x32, 0x1f, 0x60, 0xa9, - 0x8a, 0x7f, 0x0f, 0x7c, 0xa6, 0x1d, 0xe6, 0x92, 0x9e, 0x52, 0xc7, 0x7d, 0xbb, 0x35, 0x3b, 0xaa, 0x89, 0x73, - 0x4c, 0xfb, 0x99, 0x54, 0x97, 0x99, 0x28, 0x6e, 0x66, 0x5b, 0xf7, 0x9b, 0x7e, 0x6d, 0x8a, 0x2f, 0xfa, 0xc3, - 0x1e, 0x71, 0xb9, 0xbd, 0x8f, 0xc5, 0x63, 0x25, 0x31, 0x20, 0x02, 0xff, 0x02, 0xf0, 0xc9, 0x2c, 0xdd, 0x3a, - 0x10, 0x30, 0xab, 0xe5, 0xad, 0x3d, 0x1a, 0x82, 0x77, 0x46, 0xed, 0x03, 0x38, 0xa4, 0x73, 0x6d, 0x36, 0x36, - 0x33, 0x70, 0xb2, 0x63, 0x20, 0xca, 0x03, 0xbf, 0x5a, 0xf4, 0x7c, 0x35, 0xf0, 0x63, 0x1a, 0x12, 0x33, 0x12, - 0x58, 0xd9, 0xa2, 0x63, 0x6b, 0x63, 0x82, 0x41, 0x65, 0x70, 0x37, 0x4b, 0x99, 0x04, 0x9f, 0xdd, 0x5e, 0x07, - 0x01, 0x95, 0x9f, 0x36, 0xe8, 0xc3, 0x66, 0x2a, 0x21, 0x69, 0x68, 0x40, 0xe6, 0xbc, 0xbb, 0x85, 0x81, 0x21, - 0x13, 0xe6, 0xa4, 0xcf, 0xd3, 0x67, 0xe3, 0xfd, 0x75, 0xf0, 0xdf, 0x83, 0xe0, 0xc5, 0x36, 0x09, 0xac, 0x1b, - 0xd4, 0xf7, 0x2a, 0x23, 0x57, 0x1c, 0x5c, 0x0f, 0xf4, 0xcf, 0xa2, 0xcf, 0xf5, 0xbd, 0x9c, 0x69, 0x98, 0x78, - 0x3a, 0x25, 0xe4, 0xfd, 0x85, 0x11, 0xcc, 0x7d, 0xef, 0xeb, 0x74, 0x60, 0xb1, 0xb7, 0xfb, 0x1f, 0x0e, 0x62, - 0xff, 0xfe, 0x09, 0x0a, 0xc3, 0x80, 0x2f, 0x10, 0x49, 0x89, 0x78, 0xd2, 0x08, 0xfa, 0x89, 0x22, 0x45, 0x91, - 0x21, 0xbc, 0x90, 0x3e, 0xad, 0xb3, 0x0a, 0xb4, 0x0e, 0x1c, 0xa1, 0x93, 0x92, 0xd8, 0x72, 0x07, 0x54, 0x60, - 0xe7, 0x91, 0xfc, 0xd9, 0x3c, 0xe1, 0x6f, 0x08, 0xe4, 0x56, 0xf6, 0x0b, 0xb0, 0x3c, 0x39, 0x8a, 0x2d, 0x48, - 0x44, 0x28, 0x13, 0xca, 0xe9, 0xf7, 0xa3, 0xb6, 0x8a, 0x5f, 0x31, 0xa9, 0x72, 0xf2, 0xde, 0x96, 0xf2, 0xb1, - 0x53, 0xb1, 0x3e, 0x24, 0x57, 0xfd, 0x18, 0x45, 0x1f, 0xc5, 0x33, 0x1b, 0xa4, 0xe8, 0x21, 0xfa, 0x0e, 0xb2, - 0xb9, 0xcb, 0xc7, 0x07, 0x41, 0xdd, 0x2f, 0xb6, 0x6a, 0x23, 0x18, 0xed, 0xc1, 0xef, 0xe2, 0x4b, 0xec, 0xc9, - 0xba, 0xfb, 0x46, 0x43, 0x90, 0xd7, 0xb5, 0x68, 0x28, 0x31, 0x2b, 0x8d, 0xa8, 0x51, 0x63, 0xf7, 0x53, 0x99, - 0x19, 0x68, 0x85, 0x66, 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x58, 0x2e, 0x35, 0x30, 0x39, 0x00, 0x00, 0x02, - 0x3a, 0x30, 0x82, 0x02, 0x36, 0x30, 0x82, 0x01, 0xe0, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x48, 0x59, - 0xf1, 0x92, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, - 0x81, 0xa0, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x4b, 0x52, 0x31, 0x13, 0x30, - 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x4b, 0x79, 0x75, 0x6e, 0x67, 0x67, 0x69, 0x2d, 0x64, 0x6f, - 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0b, 0x53, 0x65, 0x6f, 0x6e, 0x67, 0x6e, 0x61, - 0x6d, 0x2d, 0x73, 0x69, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11, 0x54, 0x68, 0x65, - 0x20, 0x4e, 0x65, 0x74, 0x74, 0x79, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x31, 0x18, 0x30, 0x16, - 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0f, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x41, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x73, 0x31, 0x30, 0x30, 0x2e, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x27, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x65, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6e, 0x65, - 0x74, 0x74, 0x79, 0x2e, 0x67, 0x6c, 0x65, 0x61, 0x6d, 0x79, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6e, 0x65, 0x74, - 0x30, 0x20, 0x17, 0x0d, 0x30, 0x38, 0x30, 0x36, 0x31, 0x39, 0x30, 0x35, 0x34, 0x31, 0x33, 0x38, 0x5a, 0x18, - 0x0f, 0x32, 0x31, 0x38, 0x37, 0x31, 0x31, 0x32, 0x34, 0x30, 0x35, 0x34, 0x31, 0x33, 0x38, 0x5a, 0x30, 0x81, - 0xa0, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x4b, 0x52, 0x31, 0x13, 0x30, 0x11, - 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x4b, 0x79, 0x75, 0x6e, 0x67, 0x67, 0x69, 0x2d, 0x64, 0x6f, 0x31, - 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0b, 0x53, 0x65, 0x6f, 0x6e, 0x67, 0x6e, 0x61, 0x6d, - 0x2d, 0x73, 0x69, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11, 0x54, 0x68, 0x65, 0x20, - 0x4e, 0x65, 0x74, 0x74, 0x79, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x31, 0x18, 0x30, 0x16, 0x06, - 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0f, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x73, 0x31, 0x30, 0x30, 0x2e, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x27, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x65, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6e, 0x65, 0x74, - 0x74, 0x79, 0x2e, 0x67, 0x6c, 0x65, 0x61, 0x6d, 0x79, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6e, 0x65, 0x74, 0x30, - 0x5c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x4b, - 0x00, 0x30, 0x48, 0x02, 0x41, 0x00, 0xc3, 0xe3, 0x5e, 0x41, 0xa7, 0x87, 0x11, 0x00, 0x42, 0x2a, 0xb0, 0x4b, - 0xed, 0xb2, 0xe0, 0x23, 0xdb, 0xb1, 0x3d, 0x58, 0x97, 0x35, 0x60, 0x0b, 0x82, 0x59, 0xd3, 0x00, 0xea, 0xd4, - 0x61, 0xb8, 0x79, 0x3f, 0xb6, 0x3c, 0x12, 0x05, 0x93, 0x2e, 0x9a, 0x59, 0x68, 0x14, 0x77, 0x3a, 0xc8, 0x50, - 0x25, 0x57, 0xa4, 0x49, 0x18, 0x63, 0x41, 0xf0, 0x2d, 0x28, 0xec, 0x06, 0xfb, 0xb4, 0x9f, 0xbf, 0x02, 0x03, - 0x01, 0x00, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, - 0x03, 0x41, 0x00, 0x65, 0x6c, 0x30, 0x01, 0xc2, 0x8e, 0x3e, 0xcb, 0xb3, 0x77, 0x48, 0xe9, 0x66, 0x61, 0x9a, - 0x40, 0x86, 0xaf, 0xf6, 0x03, 0xeb, 0xba, 0x6a, 0xf2, 0xfd, 0xe2, 0xaf, 0x36, 0x5e, 0x7b, 0xaa, 0x22, 0x04, - 0xdd, 0x2c, 0x20, 0xc4, 0xfc, 0xdd, 0xd0, 0x82, 0x20, 0x1c, 0x3d, 0xd7, 0x9e, 0x5e, 0x5c, 0x92, 0x5a, 0x76, - 0x71, 0x28, 0xf5, 0x07, 0x7d, 0xa2, 0x81, 0xba, 0x77, 0x9f, 0x2a, 0xd9, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x05, 0x6d, 0x79, 0x6b, 0x65, 0x79, 0x00, 0x00, 0x01, 0x1a, 0x9f, 0x5b, 0x56, 0xa0, 0x00, 0x00, 0x01, 0x99, - 0x30, 0x82, 0x01, 0x95, 0x30, 0x0e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x2a, 0x02, 0x11, 0x01, 0x01, - 0x05, 0x00, 0x04, 0x82, 0x01, 0x81, 0x29, 0xa8, 0xb6, 0x08, 0x0c, 0x85, 0x75, 0x3e, 0xdd, 0xb5, 0xe5, 0x1a, - 0x87, 0x68, 0xd1, 0x90, 0x4b, 0x29, 0x31, 0xee, 0x90, 0xbc, 0x9d, 0x73, 0xa0, 0x3f, 0xe9, 0x0b, 0xa4, 0xef, - 0x30, 0x9b, 0x36, 0x9a, 0xb2, 0x54, 0x77, 0x81, 0x07, 0x4b, 0xaa, 0xa5, 0x77, 0x98, 0xe1, 0xeb, 0xb5, 0x7c, - 0x4e, 0x48, 0xd5, 0x08, 0xfc, 0x2c, 0x36, 0xe2, 0x65, 0x03, 0xac, 0xe5, 0xf3, 0x96, 0xb7, 0xd0, 0xb5, 0x3b, - 0x92, 0xe4, 0x14, 0x05, 0x7a, 0x6a, 0x92, 0x56, 0xfe, 0x4e, 0xab, 0xd3, 0x0e, 0x32, 0x04, 0x22, 0x22, 0x74, - 0x47, 0x7d, 0xec, 0x21, 0x99, 0x30, 0x31, 0x64, 0x46, 0x64, 0x9b, 0xc7, 0x13, 0xbf, 0xbe, 0xd0, 0x31, 0x49, - 0xe7, 0x3c, 0xbf, 0xba, 0xb1, 0x20, 0xf9, 0x42, 0xf4, 0xa9, 0xa9, 0xe5, 0x13, 0x65, 0x32, 0xbf, 0x7c, 0xcc, - 0x91, 0xd3, 0xfd, 0x24, 0x47, 0x0b, 0xe5, 0x53, 0xad, 0x50, 0x30, 0x56, 0xd1, 0xfa, 0x9c, 0x37, 0xa8, 0xc1, - 0xce, 0xf6, 0x0b, 0x18, 0xaa, 0x7c, 0xab, 0xbd, 0x1f, 0xdf, 0xe4, 0x80, 0xb8, 0xa7, 0xe0, 0xad, 0x7d, 0x50, - 0x74, 0xf1, 0x98, 0x78, 0xbc, 0x58, 0xb9, 0xc2, 0x52, 0xbe, 0xd2, 0x5b, 0x81, 0x94, 0x83, 0x8f, 0xb9, 0x4c, - 0xee, 0x01, 0x2b, 0x5e, 0xc9, 0x6e, 0x9b, 0xf5, 0x63, 0x69, 0xe4, 0xd8, 0x0b, 0x47, 0xd8, 0xfd, 0xd8, 0xe0, - 0xed, 0xa8, 0x27, 0x03, 0x74, 0x1e, 0x5d, 0x32, 0xe6, 0x5c, 0x63, 0xc2, 0xfb, 0x3f, 0xee, 0xb4, 0x13, 0xc6, - 0x0e, 0x6e, 0x74, 0xe0, 0x22, 0xac, 0xce, 0x79, 0xf9, 0x43, 0x68, 0xc1, 0x03, 0x74, 0x2b, 0xe1, 0x18, 0xf8, - 0x7f, 0x76, 0x9a, 0xea, 0x82, 0x3f, 0xc2, 0xa6, 0xa7, 0x4c, 0xfe, 0xae, 0x29, 0x3b, 0xc1, 0x10, 0x7c, 0xd5, - 0x77, 0x17, 0x79, 0x5f, 0xcb, 0xad, 0x1f, 0xd8, 0xa1, 0xfd, 0x90, 0xe1, 0x6b, 0xb2, 0xef, 0xb9, 0x41, 0x26, - 0xa4, 0x0b, 0x4f, 0xc6, 0x83, 0x05, 0x6f, 0xf0, 0x64, 0x40, 0xe1, 0x44, 0xc4, 0xf9, 0x40, 0x2b, 0x3b, 0x40, - 0xdb, 0xaf, 0x35, 0xa4, 0x9b, 0x9f, 0xc4, 0x74, 0x07, 0xe5, 0x18, 0x60, 0xc5, 0xfe, 0x15, 0x0e, 0x3a, 0x25, - 0x2a, 0x11, 0xee, 0x78, 0x2f, 0xb8, 0xd1, 0x6e, 0x4e, 0x3c, 0x0a, 0xb5, 0xb9, 0x40, 0x86, 0x27, 0x6d, 0x8f, - 0x53, 0xb7, 0x77, 0x36, 0xec, 0x5d, 0xed, 0x32, 0x40, 0x43, 0x82, 0xc3, 0x52, 0x58, 0xc4, 0x26, 0x39, 0xf3, - 0xb3, 0xad, 0x58, 0xab, 0xb7, 0xf7, 0x8e, 0x0e, 0xba, 0x8e, 0x78, 0x9d, 0xbf, 0x58, 0x34, 0xbd, 0x77, 0x73, - 0xa6, 0x50, 0x55, 0x00, 0x60, 0x26, 0xbf, 0x6d, 0xb4, 0x98, 0x8a, 0x18, 0x83, 0x89, 0xf8, 0xcd, 0x0d, 0x49, - 0x06, 0xae, 0x51, 0x6e, 0xaf, 0xbd, 0xe2, 0x07, 0x13, 0xd8, 0x64, 0xcc, 0xbf, 0x00, 0x00, 0x00, 0x01, 0x00, - 0x05, 0x58, 0x2e, 0x35, 0x30, 0x39, 0x00, 0x00, 0x02, 0x34, 0x30, 0x82, 0x02, 0x30, 0x30, 0x82, 0x01, 0xda, - 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x04, 0x48, 0x59, 0xf2, 0x84, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, - 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x9d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, - 0x04, 0x06, 0x13, 0x02, 0x4b, 0x52, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x4b, - 0x79, 0x75, 0x6e, 0x67, 0x67, 0x69, 0x2d, 0x64, 0x6f, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x07, - 0x13, 0x0b, 0x53, 0x65, 0x6f, 0x6e, 0x67, 0x6e, 0x61, 0x6d, 0x2d, 0x73, 0x69, 0x31, 0x1a, 0x30, 0x18, 0x06, - 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11, 0x54, 0x68, 0x65, 0x20, 0x4e, 0x65, 0x74, 0x74, 0x79, 0x20, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0c, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x31, 0x30, 0x30, 0x2e, 0x06, 0x03, 0x55, 0x04, - 0x03, 0x13, 0x27, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x65, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x2e, 0x6e, 0x65, 0x74, 0x74, 0x79, 0x2e, 0x67, 0x6c, 0x65, 0x61, 0x6d, 0x79, 0x6e, 0x6f, - 0x64, 0x65, 0x2e, 0x6e, 0x65, 0x74, 0x30, 0x20, 0x17, 0x0d, 0x30, 0x38, 0x30, 0x36, 0x31, 0x39, 0x30, 0x35, - 0x34, 0x35, 0x34, 0x30, 0x5a, 0x18, 0x0f, 0x32, 0x31, 0x38, 0x37, 0x31, 0x31, 0x32, 0x33, 0x30, 0x35, 0x34, - 0x35, 0x34, 0x30, 0x5a, 0x30, 0x81, 0x9d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, - 0x4b, 0x52, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x4b, 0x79, 0x75, 0x6e, 0x67, - 0x67, 0x69, 0x2d, 0x64, 0x6f, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0b, 0x53, 0x65, - 0x6f, 0x6e, 0x67, 0x6e, 0x61, 0x6d, 0x2d, 0x73, 0x69, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, - 0x13, 0x11, 0x54, 0x68, 0x65, 0x20, 0x4e, 0x65, 0x74, 0x74, 0x79, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x6f, 0x72, 0x73, 0x31, 0x30, 0x30, 0x2e, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x27, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x65, 0x63, 0x68, 0x61, 0x74, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, - 0x6e, 0x65, 0x74, 0x74, 0x79, 0x2e, 0x67, 0x6c, 0x65, 0x61, 0x6d, 0x79, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6e, - 0x65, 0x74, 0x30, 0x5c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, - 0x00, 0x03, 0x4b, 0x00, 0x30, 0x48, 0x02, 0x41, 0x00, 0x95, 0xb3, 0x47, 0x17, 0x95, 0x0f, 0x57, 0xcf, 0x66, - 0x72, 0x0a, 0x7e, 0x5b, 0x54, 0xea, 0x8c, 0x6f, 0x79, 0xde, 0x94, 0xac, 0x0b, 0x5a, 0xd4, 0xd6, 0x1b, 0x58, - 0x12, 0x1a, 0x16, 0x3d, 0xfe, 0xdf, 0xa5, 0x2b, 0x86, 0xbc, 0x64, 0xd4, 0x80, 0x1e, 0x3f, 0xf9, 0xe2, 0x04, - 0x03, 0x79, 0x9b, 0xc1, 0x5c, 0xf0, 0xf1, 0xf3, 0xf1, 0xe3, 0xbf, 0x3f, 0xc0, 0x1f, 0xdd, 0xdb, 0xc0, 0x5b, - 0x21, 0x02, 0x03, 0x01, 0x00, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, - 0x05, 0x05, 0x00, 0x03, 0x41, 0x00, 0x02, 0xd7, 0xdd, 0xbd, 0x0c, 0x8e, 0x21, 0x20, 0xef, 0x9e, 0x4f, 0x1f, - 0xf5, 0x49, 0xf1, 0xae, 0x58, 0x9b, 0x94, 0x3a, 0x1f, 0x70, 0x33, 0xf0, 0x9b, 0xbb, 0xe9, 0xc0, 0xf3, 0x72, - 0xcb, 0xde, 0xb6, 0x56, 0x72, 0xcc, 0x1c, 0xf0, 0xd6, 0x5a, 0x2a, 0xbc, 0xa1, 0x7e, 0x23, 0x83, 0xe9, 0xe7, - 0xcf, 0x9e, 0xa5, 0xf9, 0xcc, 0xc2, 0x61, 0xf4, 0xdb, 0x40, 0x93, 0x1d, 0x63, 0x8a, 0x50, 0x4c, 0x11, 0x39, - 0xb1, 0x91, 0xc1, 0xe6, 0x9d, 0xd9, 0x1a, 0x62, 0x1b, 0xb8, 0xd3, 0xd6, 0x9a, 0x6d, 0xb9, 0x8e, 0x15, 0x51 }; - - public static InputStream asInputStream() { - byte[] data = new byte[DATA.length]; - for (int i = 0; i < data.length; i++) { - data[i] = (byte) DATA[i]; - } - return new ByteArrayInputStream(data); - } - - // public static void main(String[] args) throws Exception { - // InputStream inputStream = asInputStream(); - // File f = new File("/tmp/chat.jks"); - // OutputStream out = new FileOutputStream(f); - // byte buf[] = new byte[1024]; - // int len; - // while ((len = inputStream.read(buf)) > 0) - // out.write(buf, 0, len); - // out.close(); - // inputStream.close(); - // } - - public static char[] getCertificatePassword() { - return "secret".toCharArray(); - } - - public static char[] getKeyStorePassword() { - return "secret".toCharArray(); - } - - private HttpsSampleKeyStore() { - // Unused - } -} diff --git a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsTLSConfig.java b/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsTLSConfig.java deleted file mode 100644 index 5d83b3ae..00000000 --- a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/https/HttpsTLSConfig.java +++ /dev/null @@ -1,22 +0,0 @@ -package net.ihe.gazelle.proxy.netty.protocols.https; - -public class HttpsTLSConfig { - - private HttpsCredentials serverCredentials; - private HttpsCredentials clientCredentials; - - public HttpsTLSConfig(HttpsCredentials serverCredentials, HttpsCredentials clientCredentials) { - super(); - this.serverCredentials = serverCredentials; - this.clientCredentials = clientCredentials; - } - - public HttpsCredentials getServerCredentials() { - return serverCredentials; - } - - public HttpsCredentials getClientCredentials() { - return clientCredentials; - } - -} -- GitLab