Skip to content

Virtual CAC using libcacard, virtualsmartcard's vpcd and softhsm2 to provide PCSC accessible virtual smart card.

License

Notifications You must be signed in to change notification settings

Jakuje/virt_cacard

Repository files navigation

virt_cacard

Virtual CAC using libcacard, virtualsmartcard's vpcd and softhsm2 to provide PCSC accessible virtual smart card.

How it works

schema

The virtual pcscd provides a socket based interface on one side, and the classic PCSC API on the other.

OpenSC natively uses the PCSC API to communicate with smart cards. The vpcd relays those communications through its socket. This should work with any application using the PCSC API, but virt_cacard was designed to help with the CI/CD of OpenSC.

The virtual smart card, emulated with libcacard, connects to the socket and can then get (and reply to) APDUs from the application. From the point of view of the application, the process is transparent.

OpenSC tests: virt_cacard


How to build

./autogen.sh
./configure
make

About

Virtual CAC using libcacard, virtualsmartcard's vpcd and softhsm2 to provide PCSC accessible virtual smart card.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 73.2%
  • C++ 11.8%
  • Shell 10.3%
  • M4 3.4%
  • Makefile 1.3%