Wie Setzen SSLv3 auf Websphere?
Habe ich eine Komponente in Java geschrieben, die ich nicht ändern kann, die bereitgestellt wird auf 7 WAR, und versucht, rufen Sie web-service über https. Ich bin immer:
Server wählte nicht unterstützt wird oder deaktiviert Protokoll: SSLv3
Als ich versuchte zu rufen, die den gleichen web-service von SoapUI oder java-app (die gleiche version von java WAR) ich habe den gleichen Fehler, aber es war einfach zu beheben mit:
System.setProperty("https.protocols", "SSLv3");
Aus irgendeinem Grund konnte ich nicht erzwingen, websphere arbeiten. Ich setzen Sie diese Eigenschaft über die Konsole, aber der Fehler war immer noch die gleiche. Wenn ich print system Eigenschaften sehe ich, dass es richtig eingestellt.
Java version:
java version "1.6.0" Java(TM) SE Runtime Environment (SR10 FP1)
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9)
Dies ist die log-Datei vom server. Wie zu zwingen, es zu verwenden SSLv3 anstatt TLSv1? Kann ich es über die Konsole? Mir wurde gesagt, dass es funktioniert auf dem server, allerdings habe ich keinen Zugriff auf die Einstellungen. Was könnte der Fall sein, die neben den Einstellungen? Andere version der JVM, WAR?
[1/24/13 17:04:58:842 CET] 0000003e SystemOut O WebContainer : 4, **WRITE: TLSv1 Handshake**, length = 57
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O WebContainer : 4, **READ: SSLv3 Handshake**, length = 74
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O *** **ServerHello, SSLv3**
...
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O WebContainer : 4, handling exception: javax.net.ssl.SSLHandshakeException: **Server chose unsupported or disabled protocol: SSLv3**
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O WebContainer : 4, SEND TLSv1 ALERT: fatal, description = handshake_failure
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O WebContainer : 4, WRITE: TLSv1 Alert, length = 2
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O WebContainer : 4, called closeSocket()
[1/24/13 17:04:58:967 CET] 0000003e SystemOut O WebContainer : 4, called close()
...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht sicher, ob das hilft, aber...
SSLHandshakeException
Etwas Im Zusammenhang?
Vielleicht hier etwas Hilfe auf, SO
und 1 weitere...
Antwort war SSLContext ctx = SSLContext.getInstance("SSLv3");
Thread hier
Problembehandlung Websphere-Anwendungen
Haben Sie einen IHS(IBM HTTP Server) vor Ihrem WebShpere?
Wenn nicht:
Um das Protokoll zu ändern gehen Sie von der Domain-Manager-Konsole: Sicherheits - > SSL-Zertifikat und Schlüsselverwaltung > SSL-Konfigurationen > NodeDefaultSSLSettings > Quality of protection (QoP) Einstellungen
Dort finden Sie in der combo-Protokoll, in dem Sie festlegen können dieser. Wenn SSL_TLS, dass ist de Standard bereits gesetzt ist, können Sie zu ändern versuchen, um SSLv3 aber SSL_TLS sollte in der Lage sein zu handhaben, TLS und SSLv3 und vielleicht gibt es etwas anderes als WebSphere-auf dem Weg zu diesem service.
Detaillierte Informationen finden Sie unter: http://www.redbooks.ibm.com/redbooks/pdfs/sg247660.pdf
und auch : http://www.ibm.com/developerworks/websphere/techjournal/0612_birk/0612_birk.html#sec1
Wenn ja:
Als die Anweisungen anders wäre, lass es mich wissen. 🙂
Grüße.
P. S - Ist das log von dem WebSphere-server der vom "Kunden" habe ich einen Geruch, dass das, was geschieht, ist, dass der "Kunde" ist derjenige, der nicht unterstützt SSLv3, sieht aus wie WebSphere will SSLv3 zu schließen, der Handschlag, aber die client-Seite nicht unterstützt. Wenn dies der Fall ist, könnten Sie versuchen, ändern Sie das Protokoll SSLv2 aber ratsam, dass es ein Sicherheitsrisiko wäre, das zu tun.