This library provides a simple and nice C++ wrapper around these libraries, so that programmers can concentrate on functionality. It offers general support for PCSC-lite, OpenSSL, PKCS#11, plus specific functionality for the SuisseID.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Marc Wäckerlin a5fdbbb592 fix for C++17, requires at least C+17 6 years ago
debian fixed dependency to gpg 6 years ago
doc fix for C++17, requires at least C+17 6 years ago
examples add new commnds to read CardOS Version 7 years ago
src fix for C++17, requires at least C+17 6 years ago
AUTHORS new author url 9 years ago
COPYING update buildsystem 6 years ago
ChangeLog fix for C++17, requires at least C+17 6 years ago
INSTALL update buildsystem 6 years ago
NEWS shared pointer is now from std C++/11; refs #26 12 years ago
README.md fix for C++17, requires at least C+17 6 years ago
autogen.sh update buildsystem 8 years ago
ax_check_qt.m4 fixed rpm installation 6 years ago
ax_cxx_compile_stdcxx.m4 fix for C++17, requires at least C+17 6 years ago
ax_init_standard_project.m4 fix for C++17, requires at least C+17 6 years ago
bootstrap.sh fix for C++17, requires at least C+17 6 years ago
build-in-docker.conf fixed for build with opensuse tumbleweed and leap - and fedora, centos, mageia 6 years ago
build-in-docker.sh update buildsystem 6 years ago
build-resource-file.sh added resolve-rpmbuilddeps.sh 9 years ago
configure.ac fix for C++17, requires at least C+17 6 years ago
dependency-graph.sh fixed build on mac 7 years ago
install-32-bit-lin-win.sh
install-64-and-32-bit-linux.sh checked-in too much, undo; refs #10 14 years ago
libpcscxx buildsystem updated 9 years ago
libpcscxx.desktop.in use ./build-in-docker.sh on build server 9 years ago
libpcscxx.spec.in fixed rpm installation 6 years ago
mac-create-app-bundle.sh update buildsystem 6 years ago
makefile.am fix for C++17, requires at least C+17 6 years ago
makefile_test.inc.am update buildsystem 8 years ago
resolve-debbuilddeps.sh fixed rpm builds 6 years ago
resolve-rpmbuilddeps.sh update buildsystem 6 years ago
rpmsign.exp build fixed for deb and rpm 8 years ago
sql-to-dot.sed update buildsystem 8 years ago
template.sh support new Op0enSSL 1.1.0 API 7 years ago

README.md

C++ Library for accessing PCSC-lite, OpenSSL, PKCS#11

The Libraries for accessing smartcard tokens are written in ugly C, moving around pointers with no memory management. This library provides a simple and nice C++ wrapper around these libraries, so that programmers can concentrate on functionality. It offers general support for PCSC-lite, OpenSSL, PKCS#11, plus specific functionality for the SuisseID.

Modules

There are several Namespaces which correspond to the Modules 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.

The library contains the following modules:

  • Siemens CardOS 4.4:
    APDU access to Siemens CardOS 4.4.
    CardOS is an operating system on Siemens smart cards.
  • Cryptoki API / PKCS#11:
    C++ wrapper around higher level PKCS#11 smart card access.
    Cryptoki, also known as PKCS#11 is a higher level API.
  • OpenSSL:
    C++ wrapper around some OpenSSL functionality.
    OpenSSL is a high level cryptography library.
  • PCSC-Lite:
    C++ wrapper around PCSC-Lite smart card reader access library.
    PCSC-Lite is a middleware to access a smart card using SCard API.
  • SuisseID:
    High level functions for the SuisseID hardware token.
    SuisseID is a standardized digital identity in Switzerland.
  • Crypto:
    Crypto implements some auxiliary crypto funtions.

See Overview of the Components to get a graphical overview on the module structure and the hardware interaction.

In the Web

Missing a Feature, Found a Bug

You are missing a feature, or an implementation is too incomplete for the purpose you need it? Or you even found a bug? Just register and open an issue on the project management page.