Created
November 23, 2011 12:31
-
-
Save mrmans0n/1388559 to your computer and use it in GitHub Desktop.
HTTPClient SSL
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// cdigo para aceptar los certificados ssl | |
public class MySSLSocketFactory extends SSLSocketFactory { | |
SSLContext sslContext = SSLContext.getInstance("TLS"); | |
public MySSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException { | |
super(truststore); | |
TrustManager tm = new X509TrustManager() { | |
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { | |
} | |
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { | |
} | |
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(); | |
} | |
} | |
public HttpClient getNewHttpClient() { | |
try { | |
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType()); | |
trustStore.load(null, null); | |
SSLSocketFactory sf = new MySSLSocketFactory(trustStore); | |
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); | |
HttpParams params = new BasicHttpParams(); | |
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1); | |
HttpProtocolParams.setContentCharset(params, HTTP.UTF_8); | |
SchemeRegistry registry = new SchemeRegistry(); | |
registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); | |
registry.register(new Scheme("https", sf, 443)); | |
ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry); | |
return new DefaultHttpClient(ccm, params); | |
} catch (Exception e) { | |
return new DefaultHttpClient(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment