private TCPProxySSLSocketFactoryImplementation( InputStream keyStoreInputStream, String keyStoreType, char[] keyStorePassword) throws IOException, GeneralSecurityException, SSLContextFactoryException { try { final InsecureSSLContextFactory sslContextFactory = new InsecureSSLContextFactory(keyStoreInputStream, keyStorePassword, keyStoreType); final SSLContext sslContext = sslContextFactory.getSSLContext(); m_clientSocketFactory = sslContext.getSocketFactory(); m_serverSocketFactory = sslContext.getServerSocketFactory(); } finally { Closer.close(keyStoreInputStream); } }
public void setKeyManagers(final KeyManager[] keyManagers) throws InvalidContextException { final ThreadContext threadContext = m_threadContextLocator.get(); if (threadContext == null) { throw new InvalidContextException( "setKeyManagers is only supported for worker threads."); } setThreadSSLContextFactory(threadContext, new CachingSSLContextFactory( new InsecureSSLContextFactory(keyManagers))); }
public void setKeyStore(final InputStream keyStoreInputStream, final String password, String keyStoreType) throws GeneralSecurityException, InvalidContextException, IOException { final ThreadContext threadContext = m_threadContextLocator.get(); if (threadContext == null) { throw new InvalidContextException( "setKeyStore is only supported for worker threads."); } final char[] passwordChars = password != null ? password.toCharArray() : null; setThreadSSLContextFactory( threadContext, new CachingSSLContextFactory( new InsecureSSLContextFactory(keyStoreInputStream, passwordChars, keyStoreType))); }
public SSLContext getSSLContext() throws SSLContextFactoryException { final ThreadContext threadContext = m_threadContextLocator.get(); if (threadContext == null) { throw new SSLContextFactoryException( "getSSLContext is only supported for worker threads."); } final SSLContextFactory threadSSLContextFactory = threadContext.getThreadSSLContextFactory(); if (threadSSLContextFactory != null) { return threadSSLContextFactory.getSSLContext(); } else { final CachingSSLContextFactory defaultContextFactoryForThread = new CachingSSLContextFactory(new InsecureSSLContextFactory()); setThreadSSLContextFactory(threadContext, defaultContextFactoryForThread); return defaultContextFactoryForThread.getSSLContext(); } }