OpenHBCI skripten
Automatische Kontoabfrage mit Linux
Software
Zunächst wird die neue OpenHBCI-Bibliothek benötigt. Man erhält sie von http://www.openhbci.de. Möchte man mit Chipkarten arbeiten, ist die Bibliothek libchipcard notwendig, die ebenfalls von der obigen Web-Adresse bezogen werden kann. Außerdem muss SSL installiert sein.
Die Installation erfolgt in bekannter Weise über den Dreischritt ./configure; make; make install. Alternativ installiert man ein Paket im Format der jeweiligen Distribution, also beispielsweise für Mandrake Linux: rpm -Uvh openhbci-0.9.7-1mdk.i586.rpm.
Das Kommandozeilen-Tool aqmoney steht unter http://aqmoney.sourceforge.net zum Download bereit – allerdings nur in einer Quellcode-Version.
Initialschritte
Von der Bank ist eine so genannte Disketten-Version erforderlich, mit der man die Bankleitzahl (BLZ), die HBCI-Benutzerkennung (ID) und die Web-Adresse des Bank-Servers bekommt. Außerdem ist ein INI-Brief der Bank vonnöten, der den Bank-Hashcode enthält, der später verglichen werden muss.
Zunächst ist die IP-Adresse des Bank-Servers zu ermitteln:
host hbci02.fiducia.de hbci02.fiducia.de. has address 195.162.4.242
Mit dieser IP-Adresse (hier 195.162.4.242), der HBCI-ID (hier 1234567890123456) und der Bankleitzahl (hier 53290000) wird ein Benutzer angemeldet. In Listing 1 finden Sie die komplette Kommandozeile.
Listing 1
aqmoney -configfile=$HOME/finanz/aqmoney.conf \ --command="createuser" --user="1234567890123456" \ --institute="53290000" -medium="$HOME/finanz/daten" \ --security="rdh" --server="195.162.4.242"
Dabei werden in aqmoney.conf die Konfiguration und in daten die Verschlüsselungsangaben abgelegt. Außerdem wird ein Passwort abgefragt, das bei künftigen Aktionen notwendig ist. rdh steht für die Disketten-Lösung, ddv für die Chipkarte.
Dann müssen die Keys ausgetauscht werden (Listing 2). In der Fehlerausgabe (auch umzuleiten mit 2 > protokoll) sieht man die Details.
Listing 2
aqmoney --configfile=$HOME/finanz/aqmoney.conf \ --command="getkeys" --user="1234567890123456" \ --institute="53290000" aqmoney --configfile=$HOME/finanz/aqmoney.conf \ --command="sendkeys" --user="1234567890123456" \ --institute="53290000"
Im nächsten Schritt (Listing 3) werden die Hashcodes verglichen und der INI-Brief erzeugt. Dazu verwendet man den Aufruf aus Listing 3 zum Vergleich mit dem Brief der Bank.
Listing 3
aqmoney --configfile=$HOME/finanz/aqmoney.conf \ --command="iniletter" --user="1234567890123456" \ --institute="53290000" -key="institute"
Nun muss ein eigener INI-Brief erzeugt werden, der unterschrieben an die Bank zurück geht (Listing 4). Ist die Bank mit den übertragenen Codes einverstanden, schaltet sie den Zugang frei. Nach dieser Freischaltung kann es losgehen. Den eigenen INI-Brief erzeugt man mit dem in Listing 4 gezeigten Aufruf.
Listing 4
aqmoney --configfile=$HOME/finanz/aqmoney.conf \ --command="iniletter" --user="1234567890123456" \ --institute="53290000" --key="user"
Mit folgender Kommandozeile sieht man etwas versteckt zwischen den Protokollmeldungen die Konten, die über diesen Zugang verwendet werden können.
aqmoney --configfile=$HOME/finanz/aqmoney.conf --command="acclist"



