Axis2 mit SSL verschlüsseln

Status
Nicht offen für weitere Antworten.
I

Intrun

Gast
Hallo Java-Gemeinschaft,

ich möchte meinen Webservice gerne mit SSL-Verschüsselung anlegen, damit der Datentransfer sicherer wird. Zum Testen habe ich ein Zertifikat (.jks) aus dem Internet geladen und in Tomcat die entsprechenen Einstellungen gemacht:

Änderung in server.xml:

Code:
<Connector port="8443" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"           
               keystoreFile="conf/server.jks" 
               keystorePass="password" />

Das Zertifikat liegt unter TOMCAT_HOME/conf/server.jks. Dem Axis2-Client habe ich nur die URL geändert: https://localhost:8443/axis2/services/....

Leider bekommt mein Client überhaupt keine Connection zum Port 8443. Habe ich da irgendwas nicht beachtet? Braucht mein Client auch ein Zertifikat um sich mit den Webservice zu authentifizieren.?

Bitte um Hilfe.
 

joern1

Mitglied
OK. Ich versuche es mal anhand einer gesicherten https Verbindung zu einem Server zu erklären:

1.) Server hat ein Zertifikat . Entweder ein gekauftes von einer CA oder ein selbst erstelltes.
2.) Browser hat Zertifikate von verschiedenen renomierten CAs

Es sind also 2 Zertifikate:

3.) Client sendet Request ( Versand des öffentlichen Schlüssels) Dieser Schlüssel ist allgemein bekannt.
Liegt so im Browser rum, um wartet darauf benutzt zu werden.

4.) Server hat eine Digitale Signatur. Diese enthält einen 2. Schlüssel , den privaten Schlüssel .


Zusammen ergibt sich also ein Schlüsselpaar . Der Schlüssel des Servers muss unbedingt geheim bleiben.
Deshalb heißt er auch privater Schlüssel.

Wenn der Public Keys mit der Hashsumme des Private Keys übereinstimmt, ist alles OK.

Die Zertifizierung war erfolgreich. Das ganze ist dann ein asymmetrisches Verschlüsselungsverfahren ...


VG
Jörn
 

Niki

Top Contributor
Ich hatte gestern genau die selbe Anforderung. Hab vom Server das .cer File bekommen. Aus dem hab ich mir mittels portecle ein .jks File generiert. Das ganze brauchst du am Client nur mehr so einbinden:
Code:
		InputStream is = new FileInputStream(new File("cert",
				"mein_clientzertifikat.jks"));
		KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
		keyStore.load(is, "mein_passwort".toCharArray());
		is.close();

Ich hab das ganze zwar mit Axis gemacht, funktioniert aber bei axis2 sicher auch so. Was man am Server einrichten muss weiß ich nicht, da das der Admin gemacht hat. Aber die https Verbindung funktioniert.
 
I

Intrun

Gast
Hi Niki,

was ist denn eigentlich dieses .jks? Hast Du nur diese Datei im keyStore geladen ohne irgendwie die SystemProperites zu setzen?

Sorry, ich kenne mich da überhaupt nicht aus. Ich habe die Schlüsselpaare, wie oben beschrieben, aus einem Tutorial im Internet genieriert. Was die einzelnen Dateien .ts und .ks bedeuten, weiss ich leider nicht:-(

Mein Problem ist noch immer, wie ich den Tomcat auf ssl einrichten kann. Die o.g. Beschreibung scheint noch fehlerhaft zu sein.
 

Niki

Top Contributor
Die .jks dürfte dieses KeyStore-File für den Client sein. Mehr als der Code von mir ist auf Client-Seite nicht nötig. Also keine System-Properties.
Wie gesagt, bei der Tomcat-Konfiguration kann ich leider nicht weiter helfen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Axis2 / Rampart - XML-Datei verschlüsseln & versenden SOA 14
S Axis2 Dateien lesen und schreiben - Pfade SOA 1
L [AXIS2] OutOfMemory Exception bei Übertragung von größerer Datei via Webservice SOA 3
C SSL in Tomcat mit Axis2 SOA 4
K Axis2 SOAP Logging via Client SOA 2
T Verwendung von Eclipse Projekten im Axis2 Webservice SOA 8
S AXIS2 Webservice: Umgang mit komplexen Datentypen SOA 5
S Axis2 Fault - Wie im Client auslesen? SOA 6
J Axis2 und wiederverwenden der Serverobjekte SOA 3
B Axis2 Cipher Suite und Protocol einschränken SOA 2
H Axis2 dynamische URL zu WSDL SOA 2
H Axis2: XML<->DB SOA 2
T Axis2 Problem: leeres Array? SOA 1
S Axis2 MustUnderstand problem mit Boolean SOA 9
F Axis2 große Strings streamen SOA 3
A Axis2 oder 1 Ntlm Authentification SOA 5
J Axis2 und Tomcat SOA 4
T Hat AXIS2 noch Zukunft und wie REST implementieren? SOA 6
R AXIS2 u. Eclipse (Galileo) Fehler bei Serverstart SOA 2
G Stub generieren (WSDL=Axis1.4) (WSDL2JAVA=Axis2) SOA 11
H Axis2 Deployment SOA 5
R SOAP Nachrichtenaustausch zwischen Axis2-WSs SOA 5
S Exception in axis2 java2wsdl ant Task SOA 1
N Request-XML-String -> AXIS2 -> WSDL-Check -> Respon SOA 2
G Axis2 Properties SOA 6
N Axis2: Binärdateien übertragen mit JWS/RPC SOA 2
M Axis2 vs XFire vs JAX-WS SOA 4
N Axis2 - hibernate.cfg.xml - wohin? SOA 6
K Axis2 Service / deploying to Tomcat 5.5.25 / web.xml SOA 5
F Axis2 und Listen SOA 3
N Axis2 - Cliententwicklung SOA 3
G axis2 rampart 1.3 SOA 1
K Webservices mit Axis2 SOA 2
N SOAP-Nachrichten verschlüsseln | jax-ws SOA 0

Ähnliche Java Themen

Neue Themen


Oben