Aiuto Web Service Sicuro

superciccio14

Utente Attivo
18 Lug 2005
88
0
0
Ah che casino! Dopo quasi un anno esatto torno a rompervi le scatole su sto forum e sta volta cambio argomento.

Devo implementare una procedura si autenticazione per un Web Service. Per Prima cosa devo garantire una sicurezza point to point (con SSL) e poi una end to end (XML encryption e XML Digital Signature).

Bene Primo dubbio: Ho creato un certificato digitale X.509fittizio di prova:

Codice:
C:\Programmi\Java\jdk1.5.0_04>keytool -genkey -alias server-alias -keyalg RSA -keypass changeit -sto
repass changeit -keystore keystoreserver.jks
Specificare nome e cognome
 [Unknown]:  Mario Rossi
Specificare il nome dell'unitÓ aziendale
 [Unknown]:  Programmazione
Specificare il nome dell'azienda
 [Unknown]:  Web Service Spa
Specificare la localitÓ
 [Unknown]:  Borgaro
Specificare la provincia
 [Unknown]:  TO
Specificare il codice a due lettere del paese in cui si trova l'unitÓ
 [Unknown]:  IT
Il dato CN=Mario Rossi, OU=Programmazione, O=Web Service Spa, L=Borgaro, ST=TO, C=IT Þ corretto?
 [no]:  si

C:\Programmi\Java\jdk1.5.0_04>keytool -selfcert -alias server-alias -keystore keystoreserver.jks -ke
ypass changeit -storepass changeit

C:\Programmi\Java\jdk1.5.0_04>keytool -export -alias server-alias -storepass changeit -file server.c
er -keystore keystoreserver.jks
Il certificato Þ memorizzato nel file <server.cer>

C:\Programmi\Java\jdk1.5.0_04>keytool -import -v -trustcacerts -alias server-alias -file server.cer
-keystore cacerts.jks -keypass changeit -storepass changeit
Proprietario: CN=Mario Rossi, OU=Programmazione, O=Web Service Spa, L=Borgaro, ST=TO, C=IT
Organismo di emissione: CN=Mario Rossi, OU=Programmazione, O=Web Service Spa, L=Borgaro, ST=TO, C=IT

Numero di serie: 44086ad1
Valido da Fri Mar 03 17:12:01 CET 2006 a Thu Jun 01 18:12:01 CEST 2006
Impronte digitali certificato:
         MD5: DC:98:40:33:FC:24:FE:B8:85:56:47:7D:38:3B:B8:0A
         SHA1: 59:D4:30:2A:5E:5D:94:09:D9:D6:26:58:EC:4B:48:E0:81:03:98:CE
Considerare attendibile questo certificato? [no]:  si
Il certificato Þ stato aggiunto al keystore
[Memorizzazione di cacerts.jks] in corso

e ve lo metto qui, tanto è pacco per cui :D

primo dubbio che bisogno c'è di crearlo metterlo nel repository e poi importarlo in cacerts.jks?

vi piazzo qui il client che prende i paramteri da una pagina *.jsp

Codice:
public class ClasseProva {
	    public String login(String username, String password, String data){

		String messaggio = "";
		try {
			//System.setProperty("javax.net.ssl.keyStore","C:\\Programmi\\Java\\jdk1.5.0_04\\keystoreclient.jks");
			//System.setProperty("javax.net.ssl.keyStorePassword","changeit");
			System.setProperty("javax.net.ssl.trustStore","C:\\Programmi\\Java\\jdk1.5.0_04\\cacerts.jks");
			System.setProperty("javax.net.ssl.trustStorePassword","changeit");
			Call call = (Call) new Service().createCall();
			call.setUsername(username);
			call.setPassword(password);
			call.setTargetEndpointAddress(new URL(
					"https://localhost:8443/axis/services/"));
			call.setOperationName(new QName("Salve", "saluto"));
			Object rispostaWS = call.invoke(new Object[] { (data)});
			messaggio = "Risultato Del Ws: " + (String) rispostaWS;
			
			
		} catch (MalformedURLException ex) {
			messaggio = ex.getMessage();
		} catch (ServiceException ex) {
			messaggio = ex.getMessage();
		} catch (RemoteException ex) {
			messaggio = ex.getMessage();
		} finally {
			System.out.println(messaggio);
		}
		return messaggio;
	}
}


ok e fin qui abbstanza chiaro...

ma se dovessi fare una procedura di registrazione?
come si fa? Io utlizzo axis + tomcat per cui non so come posso fare ad inserire gli utenti sul file (che tra l'altro rimangono in chiaro)...


VI prego help :crying: :crying: :crying:

continuo intanto a provare soluzioni...:hammer:
 

Discussioni simili