Created
April 4, 2012 13:25
-
-
Save xdu/2301042 to your computer and use it in GitHub Desktop.
HttpComponents server over SSL socket
This file contains hidden or 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
KeyStore ks = KeyStore.getInstance("JKS"); | |
ks.load(CyberClient.class.getResourceAsStream("/test.keystore"), "password".toCharArray()); | |
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); | |
kmf.init(ks, "password".toCharArray()); | |
SSLContext sc = SSLContext.getInstance("TLS"); | |
sc.init(kmf.getKeyManagers(), null, null); | |
SSLServerSocketFactory ssf = sc.getServerSocketFactory(); | |
socket = (SSLServerSocket) ssf.createServerSocket(8888); | |
// socket = new ServerSocket(port); | |
params = new SyncBasicHttpParams() | |
.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 0) | |
.setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8*1024) | |
.setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false) | |
.setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true) | |
.setParameter(CoreProtocolPNames.ORIGIN_SERVER, "HttpComponents/1.1"); | |
HttpProcessor proc = new ImmutableHttpProcessor(new HttpResponseInterceptor[] { | |
new ResponseDate(), | |
new ResponseServer(), | |
new ResponseContent(), | |
new ResponseConnControl() | |
}); | |
HttpRequestHandlerRegistry registry = new HttpRequestHandlerRegistry(); | |
registry.register("*", new CyberClientHandler()); | |
service = new HttpService( | |
proc, | |
new DefaultConnectionReuseStrategy(), | |
new DefaultHttpResponseFactory(), | |
registry, | |
params); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment