JSEE

Napsland
18 de Enero del 2005
Hola javapañeros!!
Estoy intentando establecer una conexión segura(recién me estoy poniendo con el tema) con otro servidor que es el que me tiene que hacer la autentificación (este servidor ya está preparado para ello), el problema está en que yo he seguido unos pasos de lo que he ido leyendo en internet y no consigo que me funciona.

Yo en mi código hago lo siguiente

System.getProperties().setProperty("javax.net.ssl.trustStore", "C:\oc4j904\j2ee\home\applications\AppJava-war\WEB-INF\classes\Store.dat");
System.setProperty("javax.net.ssl.trustStorePassword", "yourpassword");
ks = KeyStore.getInstance("JKS");
SSLContext ctx = SSLContext.getInstance("SSL");
X509TrustManager tm = new AlwaysTrustManager();
TrustManager[] tma = {tm};
keystoreHome = new File(System.getProperty("javax.net.ssl.trustStore"));
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
kmf.init(ks, keypassphrase);
ctx.init(kmf.getKeyManagers(), tma, null);
HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());
FileInputStream fileinputstream = new FileInputStream(keystoreHome);
keypassphrase = keyStoreKey.toCharArray();
try {
ks.load(fileinputstream, keypassphrase);
fileinputstream.close();
} catch (IOException ioexception) {
ioexception.printStackTrace();
throw new Exception("Error carregant KeyStore " + ioexception);
}

URL theURL = new URL(null, theURLSpec, new com.sun.net.ssl.internal.www.protocol.https.Handler());
HttpURLConnection conn = (HttpURLConnection) theURL.openConnection();


Es la solución correcta, me falta algo?? cual es la ubicaicón que tengo que definir para los keystore y los truestore??

Gracias por la ayuda
Napsland