Oppure

Loading
20/03/12 17:21
pano8314
Salve,
ho sentito parlare molto bene di questo forum, da amici che hanno spesso chiesto aiuto e hanno avuto sempre la risposta di cui avevano bisogno.
Adesso anche io ho un piccolo problema e spero che riusciate ad aiutarmi.
Veniamo al dunque, piccola premessa prima:
ho sviluppato un client in java che comunica in SOAP SSL, grazie ad Axis, con un WebService in remoto. Questa di seguito è la configurazione ssl che ho fatto all'interno della mia applicazione java e che mi permette di far funzionare tutto regolarmente.

//truststore contenente il certificato pubblico
System.setProperty("javax.net.ssl.trustStore", "newstore");
System.setProperty("javax.net.ssl.trustStorePassword", "123456");
System.setProperty("javax.net.ssl.trustStoreType","JKS");

//keystorestore contenente il certificato privato
System.setProperty("javax.net.ssl.keyStore", "certificato.p12");
System.setProperty("javax.net.ssl.keyStorePassword", "654321");
System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");


Come si può vedere dalla configurazione, come truststore utilizzo un JKS, invece come keystore utilizzo direttamente il p12 che mi ha fornito il cliente. In questo modo l'handshake con il server in remoto funziona alla grande e riesco ad accedere al WebService.
Adesso però ho l'esigenza di mettere anche il p12 all'interno di un JKS, in modo tale che possa avere più di un certificato al suo interno, ma purtroppo ho riscontrato qualche problema.
Ho importato un p12 all'interno di un JKS in questo modo

keytool -v -importkeystore -srckeystore my.p12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS


eseguendo il comando mi viene chiesto di inserire la pass di destinazione e successivamente quella di origine, inserisco tutto e l'importazione avviene correttamente.

A questo punto carico il keystore all'interno di java in questo modo

System.setProperty("javax.net.ssl.keyStore", "keystore.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "654321");
System.setProperty("javax.net.ssl.keyStoreType", "JKS");


provo a connettermi al WebService in remoto ma non riesco più e ottengo questa eccezione

 java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)


se invece rimetto il p12 come keystore tutto ritorna a funzionare... c'è qualcuno che può darmi una mano? non so più che fare, su internet non ho trovato molto nello specifico... dove sbaglio?

grazie
aaa
13/04/12 8:51
pino8314
nessuno può darmi una mano?
aaa