JAX-WS: Como incluir as chaves geradas por mim no Client?

0 respostas
K

A minha classe endpoint está da seguinte forma:

Endpoint endpoint = Endpoint.create(new UserWs());
SSLContext ssl = SSLContext.getInstance("SSLv3");
            
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
KeyStore jks = KeyStore.getInstance(KeyStore.getDefaultType());
            
jks.load(new FileInputStream(path), pwField.getText().toCharArray());
            
kmf.init(jks, pwField.getText().toCharArray());
KeyManager[] keyManagers = kmf.getKeyManagers();

tmf.init(jks);

TrustManager[] trustManagers = tmf.getTrustManagers();
            
ssl.init(keyManagers, trustManagers, new SecureRandom());
            
HttpsConfigurator configurator = new HttpsConfigurator(ssl);

HttpsServer httpsServer = HttpsServer.create(new InetSocketAddress("localhost", 443), 443);
httpsServer.setHttpsConfigurator(configurator);
            
HttpContext context = httpsServer.createContext("/hub");
httpsServer.start();
 
endpoint.publish(context);

Com esse código, consigo subir o endpoint e fazer com que ele se torne acessível por meio de uma conexão criptografada. No entanto, o certificado não é reconhecido como confiável. Pelo que eu entendo, eu teria que incluir o certificado na classe do Client na hora de fazer o acesso, certo? Como eu faria isso?

Criado 15 de agosto de 2013
Respostas 0
Participantes 1