OpenHBCI -- the first free client-side implementation of the HBCI
specification.

HBCI is a bank-independent homebanking standard used by many German
banks. This publicly available protocol describes communication,
authentification, encryption, and business transactions taking place
between a homebanking applications and any arbitrary HBCI-enabled bank
server. OpenHBCI provides an object oriented library implementing the
current client-side HBCI specification. The library is written in C++,
with C wrappers also available.

To learn more about how to code with OpenHBCI, look at the
documentation in the source code, starting with the class HBCI::API in
src/openhbci/hbciapi.h or by viewing the doxygen-generated HTML
documentation. Also, some (slightly outdated) documentation about the
design is in "doc/DESIGN".


Build and Install
=================

  ./configure
  make
  make install

If you retrieved this copy of the source code directly from CVS, you
need to build the ./configure script first, by typing

  make -f Makefile.dist

Also, a common set of arguments to ./configure might be the following:

  ./configure --prefix=/my/prefix \
    --with-openssl-includes=/my/openssl/include \
    --with-openssl-libs=/my/openssl/lib \
    --with-chipcard-dir=/my/chipcarddir

To create the HTML documentation of the API by doxygen, do 

  make srcdoc


License
================

This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License (LGPL) as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details. 

In particular, the authors of this library give NO WARRANTY at all
about what this library might perform with your HBCI financial
data. If you use this library on real HBCI accounts at your bank, you
have to do so TOTALLY AT YOUR OWN RISK.


Requirements
=================

OpenHBCI requires the following packages:

* OpenSSL, any version 0.9.0 or better (note that all versions 0.9.6d
  and lesser are considered to be potentially vulnerable to buffer
  overflow attacks). http://www.openssl.org

* libchipcard, (optional but strongly recommended) version 0.5.2 or
  better; necessary if chip card support should be available. 
  libchipcard can be installed without any problems even if there is
  no card reader currently installed in your system. 
  http://www.libchipcard.de

* doxygen (optional) any recent version; necessary if a fully
  cross-references HTML documentation of the API should be
  created. http://www.doxygen.org


Further Packages
====================

AqMoney
-------

"Aqmoney" is a command-line homebanking application. All features of
OpenHBCI are supported (since this is our primary testing
application). You can

- setup multiple accounts (including INI letters)
- check your accounts balances
- pull a list of transactions from the credit institute
- view these transactions (either plain text or HTML)
- transfer money from your accounts to others.
- issue a debit note
- add, remove and view standing orders
- view institute messages

You can get it from http://aqmoney.sf.net.

Hamburg, Sat, Jul 26 2002
Martin Preu <martin@libchipcard.de>

Aug 14 2002 Christian Stimming <stimming@tuhh.de>
