Package org.exoplatform.social.client.core.net

Source Code of org.exoplatform.social.client.core.net.OpenSSLSocketFactory

package org.exoplatform.social.client.core.net;

import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.UnrecoverableKeyException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

import org.apache.http.conn.ssl.SSLSocketFactory;

public class OpenSSLSocketFactory extends SSLSocketFactory {
 
  SSLContext sslContext = SSLContext.getInstance("TLS");

  public OpenSSLSocketFactory(KeyStore truststore)
      throws NoSuchAlgorithmException, KeyManagementException,
      KeyStoreException, UnrecoverableKeyException {
    super(truststore);
   
    TrustManager tm = new X509TrustManager() {
     
      @Override
      public void checkClientTrusted(X509Certificate[] chain,
          String authType) throws CertificateException {
      }

      @Override
      public void checkServerTrusted(X509Certificate[] chain,
          String authType) throws CertificateException {
      }

      @Override
      public X509Certificate[] getAcceptedIssuers() {
        return null;
      }
     
    };
   
    sslContext.init(null, new TrustManager[] { tm }, null);
   
  }
 
  @Override
    public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException, UnknownHostException {
        return sslContext.getSocketFactory().createSocket(socket, host, port, autoClose);
    }

    @Override
    public Socket createSocket() throws IOException {
        return sslContext.getSocketFactory().createSocket();
    }

}
TOP

Related Classes of org.exoplatform.social.client.core.net.OpenSSLSocketFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.