i have made changes configure ssl in our service , want test local http(s)server.
private static httpsserver httpsserver; @beforeclass public static void server1() throws exception { httpsserver = httpsserver.create(new inetsocketaddress(8181), 0); keystore keystore = keystore.getinstance(keystore.getdefaulttype()); path keystorepath = paths.get(system.getproperty(java_home), key_store_path); keystore.load(files.newinputstream(keystorepath), key_store_password.tochararray()); keymanagerfactory keymanagerfactory = keymanagerfactory.getinstance (keymanagerfactory.getdefaultalgorithm()); keymanagerfactory.init ( keystore, "changeit".tochararray()); trustmanagerfactory trustmanagerfactory = trustmanagerfactory.getinstance(trustmanagerfactory.getdefaultalgorithm()); trustmanagerfactory.init(keystore); sslcontext sslcontext = sslcontext.getinstance("tls"); sslcontext.init(keymanagerfactory.getkeymanagers(), trustmanagerfactory.gettrustmanagers(), null); httpsserver.sethttpsconfigurator ( new httpsconfigurator( sslcontext ) { public void configure ( httpsparameters params ) { try { // initialise ssl context sslcontext c = sslcontext.getdefault (); sslengine engine = c.createsslengine (); params.setneedclientauth ( false ); params.setciphersuites ( engine.getenabledciphersuites () ); params.setprotocols ( engine.getenabledprotocols () ); // default parameters sslparameters defaultsslparameters = c.getdefaultsslparameters (); params.setsslparameters ( defaultsslparameters ); } catch ( exception ex ) { system.out.println( "failed create https port" ); } } } ); //create default executor httpsserver.setexecutor(executors.newcachedthreadpool()); httpsserver.start(); } @afterclass public static void shutdown(){ httpsserver.stop(0); } @test public void testnotletsencryptbutsignedbycas() throws exception { urlconnection connection = new url("https://localhost:8181").openconnection(); connection.connect(); system.out.println(connection.getheaderfields()); }
but keep getting
javax.net.ssl.sslhandshakeexception: remote host closed connection during handshake @ sun.security.ssl.sslsocketimpl.readrecord(sslsocketimpl.java:980) @ sun.security.ssl.sslsocketimpl.performinitialhandshake(sslsocketimpl.java:1363) @
com.intellij.rt.execution.junit.junitstarter.preparestreamsandstart(junitstarter.java:234) @ com.intellij.rt.execution.junit.junitstarter.main(junitstarter.java:74) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:497) @ com.intellij.rt.execution.application.appmain.main(appmain.java:144) caused by: java.io.eofexception: ssl peer shut down incorrectly @ sun.security.ssl.inputrecord.read(inputrecord.java:505) @ sun.security.ssl.sslsocketimpl.readrecord(sslsocketimpl.java:961) ... 41 more
what doing wrong here ?
Comments
Post a Comment