PDA

View Full Version : java security https Problem



Seiten : [1] 2

HeisigA
25-01-05, 11:56
Hallo,
ich habe ein Problem mit verschlüsselten Verbindungen. Ich starte dazu einen Java-ApplicationServer (semiramis) auf der AS/400 OS V5R2 in einer QSH. Dieser ApplicationServer lässt nur Verbindungen über https (Port 443) zu. Mit dem zuvor auf der AS/400 erzeugten Zertifikat will ich mich nun mit dem Server verbinden (per IE-Browser). Auf dem Server wird die Exception: MalformedURLException: unknown protocol https, geworfen. Mit netstat kann ich sehen, dass https auf Verbindungen wartet. Auf allen anderen Plattformen (Linux/Windows) funzt der AS.
Ich glaube, es liegt an den IBMISeriesProvidern bzw. der Reihenfolge der "Security-Provider". Ich denke, dass alle notwendigen PTF's eingespielt sind (AC3); bin erst seit Jahresanfang AS/400 User und in der AS/400 Nomenklatur noch unsicher. Auch die gefundenen Internethinweise, konnten nicht helfen.
java.security sieht folgendermaßen aus:


security.provider.1=sun.security.provider.Sun
security.provider.2=com.ibm.crypto.provider.IBMJCE
security.provider.3=com.sun.rsajca.Provider
security.provider.4=com.ibm.security.cert.IBMCertP ath
security.provider.5=com.ibm.jsse2.IBMJSSEProvider2
security.provider.6=com.ibm.security.jgss.IBMJGSSP rovider

ssl.KeyManagerFactory.algorithm=IbmX509
ssl.TrustManagerFactory.algorithm=IbmX509

ssl.SocketFactory.provider=com.ibm.jsse.JSSESocetF actory
ssl.ServerSocketFactory.provider=com.ibm.jsse.JSSE ServerSocketFactory


Wie und was kann ich noch tun??

Gruß Andreas

BenderD
25-01-05, 15:48
Hallo,

läuft da noch ein HTTP Server? (Apache oder so), nicht dass der sich den Request greift?

mfg

Dieter Bender


Hallo,
ich habe ein Problem mit verschlüsselten Verbindungen. Ich starte dazu einen Java-ApplicationServer (semiramis) auf der AS/400 OS V5R2 in einer QSH. Dieser ApplicationServer lässt nur Verbindungen über https (Port 443) zu. Mit dem zuvor auf der AS/400 erzeugten Zertifikat will ich mich nun mit dem Server verbinden (per IE-Browser). Auf dem Server wird die Exception: MalformedURLException: unknown protocol https, geworfen. Mit netstat kann ich sehen, dass https auf Verbindungen wartet. Auf allen anderen Plattformen (Linux/Windows) funzt der AS.
Ich glaube, es liegt an den IBMISeriesProvidern bzw. der Reihenfolge der "Security-Provider". Ich denke, dass alle notwendigen PTF's eingespielt sind (AC3); bin erst seit Jahresanfang AS/400 User und in der AS/400 Nomenklatur noch unsicher. Auch die gefundenen Internethinweise, konnten nicht helfen.
java.security sieht folgendermaßen aus:


security.provider.1=sun.security.provider.Sun
security.provider.2=com.ibm.crypto.provider.IBMJCE
security.provider.3=com.sun.rsajca.Provider
security.provider.4=com.ibm.security.cert.IBMCertP ath
security.provider.5=com.ibm.jsse2.IBMJSSEProvider2
security.provider.6=com.ibm.security.jgss.IBMJGSSP rovider

ssl.KeyManagerFactory.algorithm=IbmX509
ssl.TrustManagerFactory.algorithm=IbmX509

ssl.SocketFactory.provider=com.ibm.jsse.JSSESocetF actory
ssl.ServerSocketFactory.provider=com.ibm.jsse.JSSE ServerSocketFactory


Wie und was kann ich noch tun??

Gruß Andreas

TARASIK
25-01-05, 16:09
Hallo Andreas,
es gibt den Command wrkptfgrp. Mit diesem prüft man, ob
Gruppenptfs installiert sind:

SF99098 muss Stand 16 sein IBM HTTP Server (includes HTTP, Apache, & Tomcat)
SF99502 muss Stand 17 sein Datenbankgruppenptf
SF99169 muss Stand 19 sein Javagruppenptf
SF99519 muss Stand 125 sein Hipergruppenptf

HeisigA
25-01-05, 16:09
Hallo,
nein, es läuft kein HTTP-Server.
Der Request wird auch vom Java-Server angenommen, nur wenn die Verbindungsparameter (verschlüsselungstiefe, Algorithmen, etc. ) vereinbart/ausgetauscht werden, wirft er diese Exception. Erkennen kann ich's daran, dass ich auf dem IE-Browser aufgefordert werde, das Zertifikat auszuwählen. Das heißt, dass der Request beantwortet wird nur die weitere Kommunikation mit der Verschlüsselung klappt, meiner Meinung nach, nicht. Meine Interpretation der Protocol-Negotiation kann natürlich falsch sein.

Gruß Andreas


Hallo,

läuft da noch ein HTTP Server? (Apache oder so), nicht dass der sich den Request greift?

mfg

Dieter Bender

HeisigA
25-01-05, 16:18
Hallo Tarasik,
meine Kontrolle ergab folgenden Stand:
SF99519 Stand 111
SF99502 Stand 16
SF99169 Stand 18
SF99098 Stand 16

Jetzt kommt die Bitte: Wie komme ich auf den geforderten Stand? Auf IBM-Seiten habe ich mehere Stunden verbracht und als einzigen Patch/PTF SI05419_01 gelesen und eingespielt. Da sagte mir das System, dass alle PTF's drin sind.

Danke Andreas


Hallo Andreas,
es gibt den Command wrkptfgrp. Mit diesem prüft man, ob
Gruppenptfs installiert sind:

SF99098 muss Stand 16 sein IBM HTTP Server (includes HTTP, Apache, & Tomcat)
SF99502 muss Stand 17 sein Datenbankgruppenptf
SF99169 muss Stand 19 sein Javagruppenptf
SF99519 muss Stand 125 sein Hipergruppenptf

TARASIK
25-01-05, 16:36
Hallo Andreas,
die Gruppenptfs bei der IBM bestellen und hast Du einmal mit
der Fehlermeldung im google gesucht da sind verschiedene
Hinweise zu finden.

BenderD
25-01-05, 17:02
Hallo,

an die PTFs glaube ich da eher nicht, da interessieren allenfalls die Java Group - der Rest ist Banane. Ich denke eher, dass deine Konfiguration und deine Factory Einträge verdächtig sind. Kann man in dem Semiramis das loglevel hochdrehen? Dein Fehler ist m.E. erst das letzte Glied in der Kette und das erste wäre interessant!
Folgender Link bez. Security properties erscheint mir auch beachtenswert zu sein:
http://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/rzaha/rzahajssesecprops.htm

mfg

Dieter Bender


Hallo,

läuft da noch ein HTTP Server? (Apache oder so), nicht dass der sich den Request greift?

mfg

Dieter Bender

HeisigA
26-01-05, 08:50
Hallo BenderD,

danke für den Tipp, hatte ich schon gelesen und als Guide genommen meine Einstellungen zu testen, leider ohne Erfolg.
Ich habe mal die Propertyeinstellung -Djavax.net.debug=true eingestellt. Bei der Menge an Debuginformationen fehlt mir leider die Erfahrung zu erkennen, wo der Schuh drückt. Was man aber erkennt ist, dass anfänglich request's vom Server beantwortet werden.

Gruß Andreas Heisig-Gabel


Hallo,

an die PTFs glaube ich da eher nicht, da interessieren allenfalls die Java Group - der Rest ist Banane. Ich denke eher, dass deine Konfiguration und deine Factory Einträge verdächtig sind. Kann man in dem Semiramis das loglevel hochdrehen? Dein Fehler ist m.E. erst das letzte Glied in der Kette und das erste wäre interessant!
Folgender Link bez. Security properties erscheint mir auch beachtenswert zu sein:
http://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/rzaha/rzahajssesecprops.htm

mfg

Dieter Bender

HeisigA
26-01-05, 08:56
Hallo Tarasik,

gibt es eine andere Möglichkeit? Wir haben die AS/400 als "as is" gebraucht gekauft, um Erfahrungen auf AS/400 Servern im Zusammenspiel mit der ERP-Software zu sammeln. Dazu muss aber der Java-Applicationserver laufen. Google habe ich exzessiv gebraucht, Einstellungen, Tipps getestet, ohne den Durchbruch zu schaffen.

Gruß Andreas Heisig-Gabel


Hallo Andreas,
die Gruppenptfs bei der IBM bestellen und hast Du einmal mit
der Fehlermeldung im google gesucht da sind verschiedene
Hinweise zu finden.

BenderD
26-01-05, 09:00
Hallo Andreas,

ich vermisse aber in deinem Snippet den ganzen com.ibm.as400 Kram. Das sieht mir irgendwie nach Toolbox aus, ich würde mal diese Einträge versuchen und auch mal in dem jt400.jar nachsehen, ob sich dort die Implementierungen befinden und die jt400.jar in den Classpath mit aufnehmen.
Einen weiteren Ansatz sehe ich noch in der Benutzung des verbose Schalters beim starten der JVM.

mfg

Dieter Bender


Hallo BenderD,

danke für den Tipp, hatte ich schon gelesen und als Guide genommen meine Einstellungen zu testen, leider ohne Erfolg.
Ich habe mal die Propertyeinstellung -Djavax.net.debug=true eingestellt. Bei der Menge an Debuginformationen fehlt mir leider die Erfahrung zu erkennen, wo der Schuh drückt. Was man aber erkennt ist, dass anfänglich request's vom Server beantwortet werden.

Gruß Andreas Heisig-Gabel