TLS/SSL支持
阻塞型连接可以依附在任意socket上,对SSL提供直接支持。任何SSLSocket势力都可以依附于一个阻塞型连接,从而使所有通过此连接传输的报文都可以通过TLS/SSL加密。
SSLContext sslcontext = SSLContexts.createSystemDefault();
SocketFactory sf = sslcontext.getSocketFactory();
SSLSocket socket = (SSLSocket) sf.createSocket("somehost", 443);
// Enforce TLS and disable SSL
socket.setEnabledProtocols(new String[] {
"TLSv1",
"TLSv1.1",
"TLSv1.2" });
// Enforce strong ciphers
socket.setEnabledCipherSuites(new String[] {
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_256_CBC_SHA" });
DefaultBHttpClientConnection conn = new DefaultBHttpClientConnection(8 * 1204);
conn.bind(socket);