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:
[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):
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768)
Neu:
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.
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.