[gnucash-de] Zertifikatsfehler in GnuCash 3.2/3.3 unter Windows

Heinz Repp heinz.repp at freenet.de
Mi Okt 10 07:19:30 EDT 2018


Hallo,

seit GnuCash 3 (sicher unter 3.2 und 3.3 unter Windows 10 Version 1803
64bit) ist mir aufgefallen, dass die Zertifikate bei Online-Abrufen
jedesmal wieder zu bestätigen waren. Was bisher half, Zertifikate im
Aqbanking-Einrichtungs-Assistenten direkt abrufen zu lassen, zeigt im
Protokoll nun Fehler:

> Unterzeichner des Zertifikates wurde nicht gefunden
> Dem Zertifikat wird nicht vertraut
> Fehler beim Schritt "gnutls_bye": -24 (Decryption has failed.)


Auch das manuelle Abrufen mit aqhbci-tool4.exe funktioniert nicht:

> aqhbci-tool4.exe getcert -b 37010050 -u xxxxx
> ===== Abruf des Zertifikats =====
> Verbindung vorbereiten
> Mit Server verbinden...
> Hostname "hbci.postbank.de" wird aufgelöst...
> IP-Adresse ist "185.157.32.48"
> Verbindung zu "hbci.postbank.de" wird aufgebaut
> Verbunden mit "hbci.postbank.de"
> Using GnuTLS default ciphers.
> TLS: SSL-Ciphers negotiated: TLS1.2:ECDHE-RSA-AES-256-CBC:SHA1
> Unterzeichner des Zertifikats wurde nicht gefunden
> Dem Zertifikat wird nicht vertraut
> ===== Zertifikat empfangen =====
> 3:2018/10/10 10-45-07:gwen(1012):C:/gcdev64/gnucash/releases/src/gwenhywfar-4.20.0/src/base/buffer.c:  527: Pointer outside buffer size (257 bytes)
> Assertion failed!
> 
> Program: C:\Program Files (x86)\gnucash\bin\aqhbci-tool4.exe
> File: C:/gcdev64/gnucash/releases/src/gwenhywfar-4.20.0/src/base/memory.c, Line 426
> 
> Expression: p
> 
> 
> aqhbci-tool4.exe getcert -b 12030000 -u yyyyy
> ===== Abruf des Zertifikats =====
> Verbindung vorbereiten
> Mit Server verbinden...
> Hostname "banking-dkb.s-fints-pt-dkb.de" wird aufgelöst...
> IP-Adresse ist "195.140.54.199"
> Verbindung zu "banking-dkb.s-fints-pt-dkb.de" wird aufgebaut
> Verbunden mit "banking-dkb.s-fints-pt-dkb.de"
> Using GnuTLS default ciphers.
> TLS: SSL-Ciphers negotiated: TLS1.2:ECDHE-RSA-AES-256-GCM:AEAD
> Unterzeichner des Zertifikats wurde nicht gefunden
> Dem Zertifikat wird nicht vertraut
> ===== Zertifikat empfangen =====
> 3:2018/10/10 10-48-43:gwen(2824):C:/gcdev64/gnucash/releases/src/gwenhywfar-4.20.0/src/base/buffer.c:  527: Pointer outside buffer size (257 bytes)
> Assertion failed!
> 
> Program: C:\Program Files (x86)\gnucash\bin\aqhbci-tool4.exe
> File: C:/gcdev64/gnucash/releases/src/gwenhywfar-4.20.0/src/base/memory.c, Line 426
> 
> Expression: p

Danach liegen übrigens zwei certs.conf.lock-Dateien in
%userprofile%\aqbanking\settings\shared, die blocken alle weiteren
Aufrufe und müssen von Hand gelöscht werden.

Der Buffer-Overflow ist ja schon mal nicht schön, möglicherweise aber
auch nur Folge des ersten Fehlers: Unterzeichner des Zertifikats wurde
nicht gefunden. Gwenhywfar 4.20 benutzt ja libgnutls-30.dll, und die
sollte eigentlich auf den Zertifikatsstore von Windows zugreifen, nur
scheint das nicht mehr zu klappen - der Aussteller der oben angeführten
Zertifikate ist DigiCert (DigiCert SHA2 Extended Validation Server CA ->
DigiCert High Assurance EV Root CA und DigiCert SHA2 Secure Server CA ->
DigiCert Global Root CA), und beide Stammzertifikate sind im Windows
Zertifikatsstore unter Lokaler Computer\Vertrauenswürdige
Stammzerifizierungsstellen\Zertifikate selbstverständlich vorhanden.

Vermutlich liegt der Fehler bei der verwendeten GnuTLS-Version oder der
Art der Einbindung?

Gruß

Heinz


Mehr Informationen über die Mailingliste gnucash-de