/*! @file
@id $Id$
*/
// 1 2 3 4 5 6 7 8
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
/*! @mainpage
The first intention of this
There are several [Namespaces](namespaces.html) which correspond
to the [Modules](modules.html) that are implemented. All libraries
libraries deal with hardware token cryptography. Some libraries
are just clean C++-wrappers around the original libraries that are
implemented in ugliest C manner. The warppers care about memory-
and resource-management and implement a simple and easy C++
interface, including std::string for binary data and exceptions
for error handling.
For special documentations, such as global overviews and
tutorials, please refere to [Pages](pages.html).
@section mainoverview Overview of the Components
@dot
digraph g {
compound=true;
subgraph clustercard {
label="Hardware-Token";
token;
}
subgraph clustersystempcsc {
label="System Library PCSC-Lite";
pcscd;
libpcsclite [shape=component];
}
subgraph clusteropenssl {
label="OpenSSL Library";
OpenSSL [shape=component];
}
subgraph clustermiddleware {
label
="Middleware for Hardware Access\ndynamically loaded shared object";
pkcs11 [label="libpkcs11.so\nlibcvP11.so\nlibcryptoki.so\n..."]
[shape=component];
}
subgraph clusterlibpcscxx {
label="C++ libpcscxx-Library";
node [shape=component];
pcsc [URL="\ref gpcsc"];
cryptoki [URL="\ref gcryptoki"];
cardos [URL="\ref gcardos"];
suisseid [URL="\ref gsuisseid"];
openssl [URL="\ref gopenssl"];
crypto [URL="\ref gcrypto"];
{rank=same pcsc; cryptoki; openssl; crypto;}
}
{rank=same OpenSSL; pkcs11;}
{pkcs11; OpenSSL; pcsc;} -> libpcsclite [lhead=clustersystempcsc];
libpcsclite -> pcscd;
pcscd -> token [lhead=clustercard];
cryptoki -> pkcs11 [lhead=clustermiddleware];
cardos -> pcsc;
suisseid -> cardos;
suisseid -> cryptoki;
openssl -> OpenSSL [lhead=clusteropenssl];
}
@enddot
@see gpcsc PCSC-Lite is a middleware to access a smart card using SCard API
@see gcryptoki Cryptoki, also known as PKCS#11 is a higher level API
@see gopenssl OpenSSL is a high level cryptography library
@see gcardos CardOS is an operating system on Siemens smart cards
@see gsuisseid SuisseID is a standardized digital identity in Switzerland
@see gcrypto Crypto implements some auxiliary crypto funtions
*/