⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httpsconnector.java

📁 提供ESB 应用mule源代码 提供ESB 应用mule源代码
💻 JAVA
字号:
/* * $Id: HttpsConnector.java 12151 2008-06-24 23:36:43Z dfeist $ * -------------------------------------------------------------------------------------- * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com * * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */package org.mule.transport.http;import org.mule.api.lifecycle.CreateException;import org.mule.api.lifecycle.InitialisationException;import org.mule.api.security.TlsDirectKeyStore;import org.mule.api.security.TlsDirectTrustStore;import org.mule.api.security.TlsIndirectKeyStore;import org.mule.api.security.TlsProtocolHandler;import org.mule.api.security.provider.SecurityProviderFactory;import org.mule.api.security.tls.TlsConfiguration;import org.mule.transport.ssl.SslServerSocketFactory;import org.mule.transport.ssl.SslSocketFactory;import java.io.IOException;import java.net.ServerSocket;import java.net.URI;import java.security.Provider;import javax.net.ssl.KeyManagerFactory;import javax.net.ssl.SSLServerSocket;import javax.net.ssl.TrustManagerFactory;/** * <code>HttpsConnector</code> provides Secure http connectivity on top of what is already provided with the * Mule {@link org.mule.transport.http.HttpConnector}. */public class HttpsConnector extends HttpConnector        implements TlsDirectKeyStore, TlsIndirectKeyStore, TlsDirectTrustStore, TlsProtocolHandler{    public static final String HTTPS = "https";    public static final String PEER_CERTIFICATES = "PEER_CERTIFICATES";    public static final String LOCAL_CERTIFICATES = "LOCAL_CERTIFICATES";    private TlsConfiguration tls = new TlsConfiguration(TlsConfiguration.DEFAULT_KEYSTORE);    public HttpsConnector()    {        setSocketFactory(new SslSocketFactory(tls));        setServerSocketFactory(new SslServerSocketFactory(tls));        // setting this true causes problems as socket closes before handshake finishes        setValidateConnections(false);    }    // @Override    protected ServerSocket getServerSocket(URI uri) throws IOException    {        SSLServerSocket serverSocket = (SSLServerSocket) super.getServerSocket(uri);        serverSocket.setNeedClientAuth(isRequireClientAuthentication());        return serverSocket;    }    protected void doInitialise() throws InitialisationException    {        try        {            tls.initialise(false, TlsConfiguration.JSSE_NAMESPACE);        }        catch (CreateException e)        {            throw new InitialisationException(e, this);        }        super.doInitialise();    }    public String getProtocol()    {        return HTTPS;    }    public String getClientKeyStore()    {        return tls.getClientKeyStore();    }    public String getClientKeyStorePassword()    {        return tls.getClientKeyStorePassword();    }    public String getClientKeyStoreType()    {        return this.tls.getClientKeyStoreType();    }    public String getKeyManagerAlgorithm()    {        return tls.getKeyManagerAlgorithm();    }    public KeyManagerFactory getKeyManagerFactory()    {        return tls.getKeyManagerFactory();    }    public String getKeyPassword()    {        return tls.getKeyPassword();    }    public String getKeyStore()    {        return tls.getKeyStore();    }    public String getKeyStoreType()    {        return tls.getKeyStoreType();    }    public String getProtocolHandler()    {        return tls.getProtocolHandler();    }    public Provider getProvider()    {        return tls.getProvider();    }    public SecurityProviderFactory getSecurityProviderFactory()    {        return tls.getSecurityProviderFactory();    }    public String getSslType()    {        return tls.getSslType();    }    public String getKeyStorePassword()    {        return tls.getKeyStorePassword();    }    public String getTrustManagerAlgorithm()    {        return tls.getTrustManagerAlgorithm();    }    public TrustManagerFactory getTrustManagerFactory()    {        return tls.getTrustManagerFactory();    }    public String getTrustStore()    {        return tls.getTrustStore();    }    public String getTrustStorePassword()    {        return tls.getTrustStorePassword();    }    public String getTrustStoreType()    {        return tls.getTrustStoreType();    }    public boolean isExplicitTrustStoreOnly()    {        return tls.isExplicitTrustStoreOnly();    }    public boolean isRequireClientAuthentication()    {        return tls.isRequireClientAuthentication();    }    public void setClientKeyStore(String clientKeyStore) throws IOException    {        tls.setClientKeyStore(clientKeyStore);    }    public void setClientKeyStorePassword(String clientKeyStorePassword)    {        tls.setClientKeyStorePassword(clientKeyStorePassword);    }    public void setClientKeyStoreType(String clientKeyStoreType)    {        this.tls.setClientKeyStoreType(clientKeyStoreType);    }    public void setExplicitTrustStoreOnly(boolean explicitTrustStoreOnly)    {        tls.setExplicitTrustStoreOnly(explicitTrustStoreOnly);    }    public void setKeyManagerAlgorithm(String keyManagerAlgorithm)    {        tls.setKeyManagerAlgorithm(keyManagerAlgorithm);    }    public void setKeyPassword(String keyPassword)    {        tls.setKeyPassword(keyPassword);    }    public void setKeyStore(String keyStore) throws IOException    {        tls.setKeyStore(keyStore);    }    public void setKeyStoreType(String keystoreType)    {        tls.setKeyStoreType(keystoreType);    }    public void setProtocolHandler(String protocolHandler)    {        tls.setProtocolHandler(protocolHandler);    }    public void setProvider(Provider provider)    {        tls.setProvider(provider);    }    public void setRequireClientAuthentication(boolean requireClientAuthentication)    {        tls.setRequireClientAuthentication(requireClientAuthentication);    }    public void setSecurityProviderFactory(SecurityProviderFactory spFactory)    {        tls.setSecurityProviderFactory(spFactory);    }    public void setSslType(String sslType)    {        tls.setSslType(sslType);    }    public void setKeyStorePassword(String storePassword)    {        tls.setKeyStorePassword(storePassword);    }    public void setTrustManagerAlgorithm(String trustManagerAlgorithm)    {        tls.setTrustManagerAlgorithm(trustManagerAlgorithm);    }    public void setTrustManagerFactory(TrustManagerFactory trustManagerFactory)    {        tls.setTrustManagerFactory(trustManagerFactory);    }    public void setTrustStore(String trustStore) throws IOException    {        tls.setTrustStore(trustStore);    }    public void setTrustStorePassword(String trustStorePassword)    {        tls.setTrustStorePassword(trustStorePassword);    }    public void setTrustStoreType(String trustStoreType)    {        tls.setTrustStoreType(trustStoreType);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -