GLS Bank Zugang funktioniert nicht mehr?

 
andreash
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 40
Dabei seit: 04 / 2009
Betreff:

GLS Bank Zugang funktioniert nicht mehr?

 · 
Gepostet: 08.04.2009 - 00:47 Uhr  ·  #1
Moin zusammen,

ich habe mir mit hbci4java ein Programm geschrieben (bzw. genauer genommen habe ich nur das Tutorial abgewandelt), welches mir Umsätze bei der GLS Bank abholt (HBCI/PINTAN) und dann weiter verarbeitet. Das hat über ein Jahr lang auch Problemlos funktioniert.
Seit dem 20.3. funktioniert das Abholen nicht mehr; die Fehlermeldung lautet:

Code

<INF> [2009.04.08 00:42:18.456] [main/main] manager.HBCIUtils: This is HBCI4Java-2.5.8
<INF> [2009.04.08 00:42:19.658] [main/main] manager.HBCIHandler: trying to fetch SEPA information from institute
<INF> [2009.04.08 00:42:19.685] [main/main] manager.HBCIDialog: *** adding job SEPAInfo1 to dialog
<INF> [2009.04.08 00:42:19.784] [main/main] manager.HBCIHandler: Führe Dialog für Kunden-ID XXXXXXXX00 aus
<INF> [2009.04.08 00:42:19.815] [main/main] manager.HBCIDialog: führe Dialog-Initialisierung aus
<WRN> [2009.04.08 00:42:20.194] [main/main] protocol.MSG: konnte folgenden nutzerdefinierten Wert nicht in Nachricht einsetzen: Crypted.CryptHead.SecProfile.version=1
<WRN> [2009.04.08 00:42:20.198] [main/main] protocol.MSG: konnte folgenden nutzerdefinierten Wert nicht in Nachricht einsetzen: Crypted.CryptHead.SecProfile.method=PIN
<INF> [2009.04.08 00:42:20.207] [main/main] comm.CommPinTan: baue Verbindung zu https://hbci-pintan.gad.de:443/cgi-bin/hbciservlet auf und verifiziere Zertifikat
<INF> [2009.04.08 00:42:20.876] [main/main] comm.CommPinTan: warte auf Antwortdaten
<WRN> [2009.04.08 00:42:21.894] [main/main] security.Sig: Nachricht enthält keine digitale Signatur
<ERR> [2009.04.08 00:42:21.895] [main/main] manager.HBCIUtils: HBCI4Java Exception BEGIN ---Nachricht ist nicht verschlüsselt
HBCI4Java Exception END ---
HBCI4Java stacktrace BEGIN ---org.kapott.hbci.exceptions.HBCI_Exception: Nachricht ist nicht verschlüsselt
        at org.kapott.hbci.manager.HBCIKernelImpl.rawDoIt(HBCIKernelImpl.java:458)
        at org.kapott.hbci.manager.HBCIKernelImpl.rawDoIt(HBCIKernelImpl.java:183)
        at org.kapott.hbci.manager.HBCIDialog.doDialogInit(HBCIDialog.java:169)
        at org.kapott.hbci.manager.HBCIDialog.doIt(HBCIDialog.java:672)
        at org.kapott.hbci.manager.HBCIHandler.execute(HBCIHandler.java:430)
        at org.kapott.hbci.manager.HBCIHandler.updateSEPAInfo(HBCIHandler.java:163)
        at org.kapott.hbci.manager.HBCIHandler.<init>(HBCIHandler.java:148)
        at org.atmosfair.hbci.Main.main(Main.java:243)

HBCI4Java stacktrace END ---
<ERR> [2009.04.08 00:42:21.897] [main/main] manager.HBCIHandler: error while fetching information about SEPA accounts from institute:
<ERR> [2009.04.08 00:42:21.898] [main/main] manager.HBCIHandler: Dialog for 'XXXXXXXX00':
DIALOG-INITIALISIERUNG:
GLOBALE MELDUNGEN:
EXCEPTIONS:
HBCI4Java Exception BEGIN ---Nachricht ist nicht verschlüsselt
HBCI4Java Exception END ---
FEHLER:
null:null: 9800 - Abgebrochen - Zweischrittdialog
SEGMENT-MELDUNGEN:
WARNUNGEN:
4:null: 3920 - TAN-Verfahren 999 fuer den Kunden nicht zugelassen p:922 (element DialogInit.ProcPrep)
ERFOLGSMELDUNGEN:
3:null: 0020 - HBCI-Berechtigung ist OK p:HBCI (element DialogInit.Idn)
4:2: 0020 - Die BPD ist bereits aktuell (element DialogInit.ProcPrep.BPD=47)
5:null: 0901 - PIN OK (element DialogInit.SigTail)
<INF> [2009.04.08 00:42:21.924] [main/main] manager.HBCIDialog: *** adding job KUmsZeit4 to dialog
<INF> [2009.04.08 00:42:21.931] [main/main] manager.HBCIHandler: Führe Dialog für Kunden-ID XXXXXXXX00 aus
<INF> [2009.04.08 00:42:21.934] [main/main] manager.HBCIDialog: führe Dialog-Initialisierung aus
<WRN> [2009.04.08 00:42:22.016] [main/main] protocol.MSG: konnte folgenden nutzerdefinierten Wert nicht in Nachricht einsetzen: Crypted.CryptHead.SecProfile.version=1
<WRN> [2009.04.08 00:42:22.018] [main/main] protocol.MSG: konnte folgenden nutzerdefinierten Wert nicht in Nachricht einsetzen: Crypted.CryptHead.SecProfile.method=PIN
<INF> [2009.04.08 00:42:22.020] [main/main] comm.CommPinTan: baue Verbindung zu https://hbci-pintan.gad.de:443/cgi-bin/hbciservlet auf und verifiziere Zertifikat
<INF> [2009.04.08 00:42:22.188] [main/main] comm.CommPinTan: warte auf Antwortdaten
<WRN> [2009.04.08 00:42:22.797] [main/main] security.Sig: Nachricht enthält keine digitale Signatur
<ERR> [2009.04.08 00:42:22.798] [main/main] manager.HBCIUtils: HBCI4Java Exception BEGIN ---Nachricht ist nicht verschlüsselt
HBCI4Java Exception END ---
HBCI4Java stacktrace BEGIN ---org.kapott.hbci.exceptions.HBCI_Exception: Nachricht ist nicht verschlüsselt
        at org.kapott.hbci.manager.HBCIKernelImpl.rawDoIt(HBCIKernelImpl.java:458)
        at org.kapott.hbci.manager.HBCIKernelImpl.rawDoIt(HBCIKernelImpl.java:183)
        at org.kapott.hbci.manager.HBCIDialog.doDialogInit(HBCIDialog.java:169)
        at org.kapott.hbci.manager.HBCIDialog.doIt(HBCIDialog.java:672)
        at org.kapott.hbci.manager.HBCIHandler.execute(HBCIHandler.java:430)
        at org.atmosfair.hbci.Main.main(Main.java:392)

HBCI4Java stacktrace END ---


Um zu schauen, ob das ganze an meiner Implementierung liegt, habe ich eben Jameica / Hibiscus installiert, und obwohl ich dort keine offensichtliche Fehlermeldung erhalte, funktioneirt das "Konten automatisch aus Sicherheitsmedium ermitteln" nicht. Und siehe da, ein Blick ins Log verrät

Code

[Wed Apr 08 00:20:38 CEST 2009][WARN][de.willuhn.jameica.hbci.HBCICallbackSWT.log] could not insert the following user-defined data into message: Crypted.CryptHead.SecProfile.version=1
[Wed Apr 08 00:20:38 CEST 2009][WARN][de.willuhn.jameica.hbci.HBCICallbackSWT.log] could not insert the following user-defined data into message: Crypted.CryptHead.SecProfile.method=PIN
[Wed Apr 08 00:20:38 CEST 2009][INFO][de.willuhn.jameica.hbci.HBCICallbackSWT.log] creating a connection to https://hbci-pintan.gad.de:443/cgi-bin/hbciservlet and checking the certificate
[Wed Apr 08 00:20:38 CEST 2009][INFO][de.willuhn.jameica.hbci.HBCICallbackSWT.status] versende HBCI-Nachricht
[Wed Apr 08 00:20:39 CEST 2009][INFO][de.willuhn.jameica.hbci.HBCICallbackSWT.status] warte auf Antwortdaten
[Wed Apr 08 00:20:39 CEST 2009][INFO][de.willuhn.jameica.hbci.HBCICallbackSWT.log] waiting for response
[Wed Apr 08 00:20:40 CEST 2009][ERROR][de.willuhn.jameica.hbci.HBCICallbackSWT.log] HBCI error code: 9800:Abgebrochen - Zweischrittdialog org.kapott.hbci.status.HBCIStatus.addRetVal(HBCIStatus.java:72)
[Wed Apr 08 00:20:40 CEST 2009][INFO][de.willuhn.jameica.hbci.HBCICallbackSWT.status] überprüfe Signatur der Antwortnachricht
[Wed Apr 08 00:20:40 CEST 2009][WARN][de.willuhn.jameica.hbci.HBCICallbackSWT.log] message has no signature
[Wed Apr 08 00:20:40 CEST 2009][ERROR][de.willuhn.jameica.hbci.HBCICallbackSWT.log] org.kapott.hbci.exceptions.HBCI_Exception: Nachricht ist nicht verschlüsselt


Hat hier jemand ähnliche Probleme? Woran könnte das liegen?

Ach ja, der Zugang mit einer kommerziellen Software (GS Buchhalter) funktioniert nach wie vor tadellos ...

Besten Dank und viele Grüße!

Andreas
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: GLS Bank Zugang funktioniert nicht mehr?

 · 
Gepostet: 08.04.2009 - 15:30 Uhr  ·  #2
Hast Du evtl. eine eigene Callback-Implementierung, die auf reason=NEED_PT_SECMECH reagiert? Aus irgendeinem Grund verwendet HBCI4Java nicht das einzig mögliche Sicherheits-Verfahren 922...
Mehr Auskunft würde ein Level-5-Log geben (gern auch per Mail an hbci4java at kapott dot org).
-stefan-
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: GLS Bank Zugang funktioniert nicht mehr?

 · 
Gepostet: 08.04.2009 - 15:31 Uhr  ·  #3
Ach so - möglicherweise geht neuerdings auch NUR NOCH "300" als HBCI-Version, "plus" möglicherweise nicht mehr...
-stefan-
andreash
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 40
Dabei seit: 04 / 2009
Betreff:

Re: GLS Bank Zugang funktioniert nicht mehr?

 · 
Gepostet: 08.04.2009 - 16:14 Uhr  ·  #4
Hmm, habe jetzt mal '300' ausprobiert (als Version), ebenso wie '922' und '999' (als Secmech). Das Ergebnis ist jedesmal das gleiche.

Ich habe damals das HBCIBatch Beispiel aus der hbci4java Distribution genommen und für meine Bedürfnisse angepasst.

Hier meine Dateien:

hbci-ktoauszg.sh:
Code

#!/bin/sh

HBCI4JAVA=/usr/local/myorg/hbci-ktoauszg/dist/hbci-ktoauszg.jar
DATAPATH=/usr/local/myorg/hbci-ktoauszg

java \
    -Xmx128M \
    -cp "$HBCI4JAVA" \
    -jar "$DATAPATH/dist/hbci-ktoauszg.jar" \
      "$DATAPATH/run/hbci4java.properties" \
      "$DATAPATH/run/answers.properties" \
      "$DATAPATH/run/jobs.batch" \
      "$DATAPATH/run/results.dat" \
      "$DATAPATH/run/jobs.log"


hbci4java.properties:
Code

client.passport.default=PinTan
default.hbciversion=300
log.loglevel.default=5

client.passport.PinTan.filename=/usr/local/myorg/hbci-ktoauszg/pintan_hbci4java
client.passport.PinTan.checkcert=1
client.passport.PinTan.init=1


answers.properties:
Code

# Wird nur beim PIN/TAN-Verfahren benoetigt, wenn der Server
# auch das iTAN-Verfahren unterst\u00C3\u00BCtzt. Dann ist mit diesem Parameter
# die ID des zu verwendenden Sicherheitsverfahrens anzugeben.
# Hier macht momentan nur "999" ("normales PIN/TAN-Verfahren") Sinn, 
# weil sich das iTAN-Verfahren im Moment noch nicht mit HBCIBatch
# automatisieren laesst.
# Callback-Reason: NEED_PT_SECMECH
secmech=922

# Passwort fuer das Laden der Passport-Datei. Falls eine
# neue Passport-Datei erzeugt wird, wird dieses Passwort
# auch zum Speichern der Passport-Datei verwendet.
# Callback-Reason: NEED_PASSPHRASE_LOAD und NEED_PASSPHRASE_SAVE
passphrase=12345

# PIN fuer das PIN/TAN-Verfahren
# Callback-Reason: NEED_PT_PIN
pin=12345

country=DE
blz=43060967
host=hbci-pintan.gad.de/cgi-bin/hbciservlet
port=443
filter=Base64
userid=12345678
customerid=1234567800


Mein Level5 Log habe ich angehängt.

Besten Dank für deine Hilfe!

Andreas
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: GLS Bank Zugang funktioniert nicht mehr?

 · 
Gepostet: 08.04.2009 - 16:49 Uhr  ·  #5
Ohne jetzt schon in das Logfile reingesehen zu haben: Die Informationen über "hbciversion" (hbci4java.properties) und "secmech" (answers.properties) werden nur dann benötigt, wenn noch KEIN passport-File existiert.

Beim Anlegen eines neuen Passport-Files werden diese Daten nämlich dort reingeschrieben und ab diesem Zeitpunkt aus dem Passport-File ausgelesen.

Also zwei Workarounds: (1) passport-File einfach löschen und damit ein Neu-Anlegen mit den aktualisierten Daten für Version und secmech erzwingen.
(2) Mit dem HBCI4Java Passport Editor das Passport-File bearbeiten und dort die HBCI-Version ändern (mir fällt gerade auf, dass man mit dem Editor noch gar nicht das gespeicherte Sicherheitsverfahren ändern kann).

HTH
-stefan-
andreash
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 40
Dabei seit: 04 / 2009
Betreff:

Re: GLS Bank Zugang funktioniert nicht mehr?

 · 
Gepostet: 08.04.2009 - 18:10 Uhr  ·  #6
Schon wieder was gelernt ;) Habe das passport-file geloescht, und siehe da -- mit den Einstellungen 300 und 922 funktioniert's :)

Jetzt bleibt nur noch die Frage, wie ich Hibiscus dazu kriege, mit der GLS-Bank zu spielen ...

Merci und viele Gruesse,

Andreas
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: GLS Bank Zugang funktioniert nicht mehr?

 · 
Gepostet: 08.04.2009 - 18:19 Uhr  ·  #7
Ähnliches Verfahren: die PIN/TAN-Konfiguration löschen und neu anlegen - zumindest schlägt Olaf (der Hibiscus-Autor) das immer als sicherste Variante vor. Die schon vorhanden Transaktionsdaten etc. gehen wohl nicht verloren. Aber keine Garantie - für genauere Infos such mal hier im Thread oder auf der Hibiscus-Homepage, das Thema wurde schon des öfteren angesprochen.

Grüße
-stefan-
Gewählte Zitate für Mehrfachzitierung:   0