我知道如何使用证书保护Web服务.那是我的客户代码:
SSLContext ssl = SSLContext.getInstance("SSLv3"); KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); KeyStore store = KeyStore.getInstance(KeyStore.getDefaultType()); String password = Configuration.getConfig("keyStorePassword"); store.load(new FileInputStream(new File(Configuration.getConfig("keyStore"))),password.tocharArray()); kmf.init(store,password.tocharArray()); KeyManager[] keyManagers = new KeyManager[1]; keyManagers = kmf.getKeyManagers(); TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); tmf.init(store); TrustManager[] trustManagers = tmf.getTrustManagers(); ssl.init(keyManagers,trustManagers,new SecureRandom()); HttpsConfigurator configurator = new HttpsConfigurator(ssl); Integer port = Integer.parseInt(Configuration.getConfig("port")); HttpsServer httpsServer = HttpsServer.create(new InetSocketAddress(Configuration.getConfig("host"),port),0); httpsServer.setHttpsConfigurator(configurator); Implementor implementor = new Implementor(); // class with @WebService etc. HttpContext context = (HttpContext) httpsServer.createContext("/EventWebService"); Endpoint endpoint = Endpoint.create( implementor ); endpoint.publish(context);
现在,如何制作“简单的SSL”?如何在不在客户端存储证书的情况下建立SSL连接. (就像在浏览器中通过HTTPS连接一样)