Bitte wähle nachfolgend aus, welche Beiträge auf dieser Themenseite auf dem Ausdruck ausgegeben werden sollen. Um dies zu tun markiere bitte die Checkbox auf der linken Seite der Posts, die im Ausdruck berücksichtigt werden sollen und klicke anschließend ganz unten auf der Seite auf den Button "Drucken".

Hibiscus / OpenJDK Java 8 / TLS Verbindung

robin89

Betreff:

Hibiscus / OpenJDK Java 8 / TLS Verbindung

 ·  Gepostet: 09.04.2016 - 17:39 Uhr  ·  #124136
Hallo,

nachdem ich wegen meinem Problem mit der Umsatzanzeige von openjdk version "1.8.0_65" auf openjdk version "1.8.0_77" aktualisiert habe, bin ich auf das hier beschriebene Problem gestossen:

https://www.willuhn.de/bugzilla/show_bug.cgi?id=1576

Das Problem hatte ich bereits beim Update von Java 7 auf Java 8, hatte aber vergessen wie ich es gelöst habe. Hier im Forum habe ich über die Suchfunktion nichts dazu gefunden.

Der Fehler lautet:

Code

[Sat Apr 09 15:50:19 CEST 2016][ERROR][de.willuhn.jameica.hbci.HBCICallbackSWT.log] org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Senden der HBCI-Nachricht zum Server
  at org.kapott.hbci.comm.CommPinTan.ping(CommPinTan.java:160)
  at org.kapott.hbci.comm.Comm.pingpong(Comm.java:72)
  at org.kapott.hbci.manager.HBCIKernelImpl.rawDoIt(HBCIKernelImpl.java:352)
  at org.kapott.hbci.manager.HBCIKernelImpl.rawDoIt(HBCIKernelImpl.java:178)
  at org.kapott.hbci.manager.HBCIDialog.doDialogInit(HBCIDialog.java:149)
  at org.kapott.hbci.manager.HBCIDialog.doIt(HBCIDialog.java:402)
  at org.kapott.hbci.manager.HBCIHandler.execute(HBCIHandler.java:515)
  at org.kapott.hbci.manager.HBCIHandler.updateMetaInfo(HBCIHandler.java:188)
  at org.kapott.hbci.manager.HBCIHandler.<init>(HBCIHandler.java:151)
  at de.willuhn.jameica.hbci.passports.pintan.server.PassportHandleImpl.open(PassportHandleImpl.java:174)
  at de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup$TaskHandleOpen.internalExecute(HBCISynchronizeBackend.java:534)
  at de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup$TaskHandleOpen.internalExecute(HBCISynchronizeBackend.java:506)
  at de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup$AbstractTaskWrapper.run(HBCISynchronizeBackend.java:643)
  at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source)
  at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source)
  at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
  at de.willuhn.jameica.gui.GUI.loop(GUI.java:913)
  at de.willuhn.jameica.gui.GUI.init(GUI.java:324)
  at de.willuhn.jameica.system.Application.init(Application.java:148)
  at de.willuhn.jameica.system.Application.newInstance(Application.java:90)
  at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: javax.net.ssl.SSLHandshakeException: Could not generate secret
  at sun.security.ssl.ECDHCrypt.getAgreedSecret(ECDHCrypt.java:103)
  at sun.security.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:1067)
  at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:348)
  at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
  at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
  at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
  at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
  at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
  at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
  at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
  at org.kapott.hbci.comm.CommPinTan.ping(CommPinTan.java:150)
  ... 21 more
Caused by: java.security.InvalidKeyException: EC Key Agreement doPhase requires ECPublicKey
  at org.bouncycastle.jce.provider.asymmetric.ec.KeyAgreement.engineDoPhase(Unknown Source)
  at javax.crypto.KeyAgreement.doPhase(KeyAgreement.java:567)
  at sun.security.ssl.ECDHCrypt.getAgreedSecret(ECDHCrypt.java:100)
  ... 33 more org.kapott.hbci.manager.HBCIUtils.log(HBCIUtils.java:1120)


Ich konnte das Problem beheben indem ich in der Datei "java.security" ECDHE deaktiviert habe.

Ich habe folgende Zeile ergänzt (alt):

Code

jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768) 


Neu:

Code

jdk.tls.disabledAlgorithms=ECDHE, SSLv3, RC4, MD5withRSA, DH keySize < 768) 


Das betrifft Java unter Linux (64 Bit).

Damit funktioniert die Verbindung.

Dies bloß zur Info falls jemand zukünftig das gleiche Problem haben sollte.

hibiscus

Betreff:

Re: Hibiscus / OpenJDK Java 8 / TLS Verbindung

 ·  Gepostet: 11.04.2016 - 11:29 Uhr  ·  #124146
Danke fuer die Info. In Jenkins existiert ein vergleichbares Ticket (https://issues.jenkins-ci.org/browse/JENKINS-30109). Dort war in der Tat das BouncyCastle-Update die Loesung. Vermutlich muss ich das doch mal in Jameica angehen.

hibiscus

Betreff:

Re: Hibiscus / OpenJDK Java 8 / TLS Verbindung

 ·  Gepostet: 11.04.2016 - 15:09 Uhr  ·  #124158
Geschafft. Da war eine Menge Code zu aendern. BouncyCastle auf 1.54 aktualisiert (das hatte ich mir gefuehlt schon Jahre vorgenommen). Ab morgen im Nightly-Build.