Bug #60
geschlossenaqbanking + PSD2 + gnucash = geht nicht
Beschreibung
1. Ich habe gnucash und aqbanking kompiliert mit Hilfe des Makefiles (siehe ganz unten).
2. Ich die Anleitung https://www.aquamaniac.de/rdm/projects/aqbanking/wiki/SetupPinTan befolgt und konnte Kontostand und Umsätze abrufen (auf der Konsole, Bank DKB, https://banking-dkb.s-fints-pt-dkb.de/fints30). Ich verwende chipTAN manuell, werden zur TAN-Eingabe aufgefordert (Startcode eingeben, TAN erzeugen), gebe Tan ein und es funktioniert.
3. Ich öffne gnucash (make run) und sehe in den Onlinebankingsettings die auf der Konsole eingerichteten Konten.
4. Ich probiere Transaktionen aus gnucash heraus abzurufen und erhalte ich ERROR (11)
Aktivierung des Loggings nach https://www.aquamaniac.de/rdm/projects/aqbanking/wiki erzeugt jedoch keinerlei Ausgabe auf der Konsole.
Eine Einrichtung des Onlinebankings aus gnucash heraus ist nicht möglich! Man kommt irgendwann nicht weiter. Es endet mit folgender Meldung. Auf der Konsole hingegen funktioniert es.
14:49:49 Retrieving SSL certificate 14:49:49 Preparing connection 14:49:49 Connecting to server... 14:49:49 Using GnuTLS default ciphers. 14:49:49 TLS: SSL-Ciphers negotiated: TLS1.2:ECDHE-RSA-AES-128-GCM:AEAD 14:49:49 Connected. 14:49:49 Disconnected. 14:49:49 Got certificate 14:49:49 Retrieving system id 14:49:49 Executing HBCI jobs 14:49:49 AqHBCI started 14:49:49 Encoding queue 14:50:14 Sending message 14:50:14 Using GnuTLS default ciphers. 14:50:14 TLS: SSL-Ciphers negotiated: TLS1.2:ECDHE-RSA-AES-128-GCM:AEAD 14:50:14 Message sent 14:50:14 Queue sent 14:50:14 Waiting for response 14:50:15 Response received 14:50:15 HBCI: 9050 - Die Nachricht enthält Fehler. (M) 14:50:15 HBCI: 9800 - Dialog abgebrochen (M) 14:50:15 HBCI: 9010 - Initialisierung fehlgeschlagen, Auftrag nicht bearbeitet. (M) 14:50:15 HBCI: 3079 - Bitte wenden Sie sich an den Hersteller des Banking-Programms. (S) 14:50:15 HBCI: 9078 - Dialog abgebrochen - Banking-Programm ist nicht registriert. (S) 14:50:15 HBCI: 9010 - Der Auftrag wurde nicht ausgeführt. (S) 14:50:15 Dialog aborted by bank, assuming bad PIN 14:50:15 Dialog aborted by server 14:50:15 Error processing job JobSync 14:50:15 AqHBCI finished. 14:50:15 Operation finished, you can now close this window.
AQBANKING_TAR=aqbanking-5.99.30beta.tar.gz
AQBANKING_MD5=1806a9d73cc2d9c6878dbee032e59ff2
AQBANKING_DIR=$(AQBANKING_TAR:.tar.gz=)
GWENHYWFAR_TAR=gwenhywfar-4.99.15beta.tar.gz
GWENHYWFAR_MD5=ee5317a6b583458ed9a9451b4f07ef13
GWENHYWFAR_DIR=$(GWENHYWFAR_TAR:.tar.gz=)
GNUCASH_TAR=gnucash-3.7.tar.gz
GNUCASH_MD5=ff6ab2ac4e5364ee6a52d593c6dfb496
GNUCASH_DIR=$(GNUCASH_TAR:.tar.gz=)
PREFIX=$(shell pwd)
SHELL=bash
all: gnucash
dependencies:
sudo apt-get install -y build-essential libgcrypt20-dev pkg-config libgnutls28-dev libxmlsec1-dev libwebkit2gtk-4.0-dev guile-2.2-dev libofx-dev libdbi-dev libdbi1 libdbd-sqlite3 libboost-date-time-dev libboost-regex-dev libboost-locale-dev libboost-filesystem-dev libboost-system-dev libsecret-1-dev libgtest-dev libgmock-dev libgtk-3-dev cmake xsltproc
$(GWENHYWFAR_TAR):
wget https://www.aquamaniac.de/rdm/attachments/download/136/$@
md5sum -b $@ |grep $(GWENHYWFAR_MD5)
$(GWENHYWFAR_DIR)/configure: $(GWENHYWFAR_TAR)
tar xf $<
touch $@
$(GWENHYWFAR_DIR)/config.status: $(GWENHYWFAR_DIR)/configure
cd $(GWENHYWFAR_DIR) && ./configure --prefix=$(PREFIX) --with-guis=gtk3
lib/libgwenhywfar.so: $(GWENHYWFAR_DIR)/config.status
$(MAKE) -C $(GWENHYWFAR_DIR)
$(MAKE) -C $(GWENHYWFAR_DIR) install
gwenhywfar: lib/libgwenhywfar.so
$(AQBANKING_TAR):
wget https://www.aquamaniac.de/rdm/attachments/download/134/$@
md5sum -b $@ |grep $(AQBANKING_MD5)
$(AQBANKING_DIR)/configure: $(AQBANKING_TAR)
tar xf $<
touch $@
$(AQBANKING_DIR)/config.status: $(AQBANKING_DIR)/configure lib/libgwenhywfar.so
cd $(AQBANKING_DIR) && ./configure --prefix=$(PREFIX)
lib/libaqbanking.so: $(AQBANKING_DIR)/config.status
$(MAKE) -C $(AQBANKING_DIR)
$(MAKE) -C $(AQBANKING_DIR) install
aqbanking: lib/libaqbanking.so
$(GNUCASH_TAR):
wget https://github.com/Gnucash/gnucash/releases/download/3.7/$@
md5sum -b $@ |grep $(GNUCASH_MD5)
$(GNUCASH_DIR)/CMakeLists.txt: $(GNUCASH_TAR)
tar xf $<
touch $@
bin/gnucash: $(GNUCASH_DIR)/CMakeLists.txt lib/libaqbanking.so
mkdir -p $(GNUCASH_DIR)/build
cmake -S $(GNUCASH_DIR) -B $(GNUCASH_DIR)/build -D CMAKE_INSTALL_PREFIX=$(PREFIX) -D CMAKE_PREFIX_PATH=$(PREFIX)
$(MAKE) -C $(GNUCASH_DIR)/build
$(MAKE) -C $(GNUCASH_DIR)/build install
gnucash: bin/gnucash
# https://www.aquamaniac.de/rdm/projects/aqbanking/wiki/SetupPinTan
HBCITOOL=LD_LIBRARY_PATH=$(PREFIX)/lib bin/aqhbci-tool4
AQBANKING=LD_LIBRARY_PATH=$(PREFIX)/lib bin/aqbanking-cli
URL=https://banking-dkb.s-fints-pt-dkb.de/fints30
UID=1
FROM=20190601
adduser:
$(HBCITOOL) adduser -t pintan --context=1 -b $(BLZ) -u $(USER) -s "$(URL)" -N "$(NAME)" --hbciversion=300
$(HBCITOOL) listusers
settlsflag:
$(HBCITOOL) adduserflags -u $(UID) -f tlsIgnPrematureClose
getdata:
$(HBCITOOL) getbankinfo -u $(UID)
$(HBCITOOL) getsysid -u $(UID)
$(HBCITOOL) listitanmodes -u $(UID)
settanmode:
$(HBCITOOL) setitanmode -u $(UID) -m $(MODE)
settanmediumid:
$(HBCITOOL) setTanMediumId -u $(UID) -m "$(MID)"
getaccounts:
$(HBCITOOL) getaccounts -u $(UID)
$(HBCITOOL) listaccounts -v
getsepainfo:
$(HBCITOOL) getaccsepa -a $(AID)
gettransactions:
$(AQBANKING) request --account=$(AID) --fromdate=$(FROM) --transactions
getbalance :
$(AQBANKING) request --account=$(AID) --balance
getversions:
$(AQBANKING) versions
run:
LD_LIBRARY_PATH=$(PREFIX)/lib bin/gnucash
.ONESHELL:
AppRun:
cat <<- EOF > $@
#!/bin/sh
HERE="\$$(dirname "\$$(readlink -f "\$${0}")")"
export PATH="\$${HERE}"/bin/:"\$${PATH}"
export LD_LIBRARY_PATH="\$${HERE}"/lib/:\$${LD_LIBRARY_PATH}
export XDG_DATA_DIRS="\$${HERE}"/share/:"\$${XDG_DATA_DIRS}"
EXEC=\$$(grep -e '^Exec=.*' "\$${HERE}"/*.desktop | head -n 1 | cut -d "=" -f 2 | cut -d " " -f 1)
exec "\$${EXEC}" "\$$@"
EOF
chmod +x $@
gnucash-icon.png:
convert share/gnucash/pixmaps/gnucash-icon.ico[4] $@
gnucash.desktop:
cp share/applications/$@ .
CP=cp -vd
LIB=lib/
LIBSRC=/usr/lib/x86_64-linux-gnu
.PHONY: lib
lib:
mkdir -p $@
$(CP) /lib/x86_64-linux-gnu/libgcrypt.so.* $@
ln -srv $@/libgcrypt.so.*.* $@/libgcrypt.so
$(CP) $(LIBSRC)/libgnutls*.so* $@
$(CP) $(LIBSRC)/libgmp.so* $@
$(CP) $(LIBSRC)/libgtk-3.so* $@
$(CP) $(LIBSRC)/libguile*.so* $@
$(CP) $(LIBSRC)/libxml2.so* $@
$(CP) $(LIBSRC)/libgettext*.so* $@
$(CP) $(LIBSRC)/libxslt.so* $@
$(CP) $(LIBSRC)/libicu*.so* $@
$(CP) $(LIBSRC)/libboost*.so* $@
$(CP) $(LIBSRC)/libwebkit2gtk-4.0.so* $@
$(CP) $(LIBSRC)/libdbi.so* $@
$(CP) $(LIBSRC)/dbd/libdbdsqlite3.so* $@
$(CP) $(LIBSRC)/libsqlite3.so* $@
$(CP) $(LIBSRC)/libgc.so* $@
ln -srvf $@/gnucash/*.so $@
.PHONY: share
share:
mkdir -p $@
cp -vdr /usr/share/guile $@
.PHONY: bin
bin:
mkdir -p $@
cp -v `which guile` $@
gnucash.appimage: AppRun gnucash.desktop gnucash-icon.png bin etc lib share
rm -rf appimage/
mkdir appimage/
cp -r $^ appimage/
appimagetool -v $(OPTS) appimage $@
rm -rf appimage/
appimage: gnucash.appimage
clean:
rm -rf aqbanking* gwenhywfar* gnucash* bin etc lib share include appimage AppRun