updated documentation

This commit is contained in:
Frank Morgner
2023-09-27 03:03:35 +02:00
parent bb990a2995
commit 4a442fb3e2
108 changed files with 909 additions and 36414 deletions

View File

@@ -103,7 +103,7 @@ Depending on your usage of the |vpicc| you may need to install the following:
- Python_
- pyscard_ (relaying a local smart card with `--type=relay`)
- PyCryptodome_, PBKDF2_, PIL_, readline_ or PyReadline_ (emulation of electronic
- PyCryptodome, PBKDF2_, PIL_, readline_ or PyReadline_ (emulation of electronic
passport with `--type=ePass`)
- OpenPACE_ (emulation of German identity card with `--type=nPA`)
- libqrencode_ (to print a QR code on the command line for `vpcd-config`; an
@@ -145,11 +145,15 @@ Building and installing |vpcd| on Windows
PC/SC.
For the Windows integration we extended `Fabio Ottavi's UMDF Driver for a
Virtual Smart Card Reader`_ with a |vpcd| interface. To build |vpcd| for
Windows we use `Windows Driver Kit 10 and Visual Studio 2015`_. The vpcd
installer requires the `WiX Toolset 3.10`_. If you choose
Virtual Smart Card Reader`_ with a |vpcd| interface. If you choose
to download the `Windows binaries`_, you may directly jump to step 4.
In the CI environment, we're building |vpcd| for Windows with Visual Studio
Community 2019 with SDK/WDK for Windows 11. (The WDK version needs to match
at least your targeted version of Windows, see this `guide for installing VS
with WDK`_) The vpcd installer additionally
requires the `WiX Toolset 3.10`_ to be installed.
1. Clone the git repository and make sure it is initialized with all
submodules::
@@ -166,10 +170,21 @@ to download the `Windows binaries`_, you may directly jump to step 4.
the installer (:file:`BixVReaderInstaller.msi`) in
:file:`virtualsmartcard\\win32\\BixVReaderInstaller\\bin\\*Release`
4. To install |vpcd|, double click :file:`BixVReaderInstaller.msi`. Since we
are currently not signing the Installer, this will yield a warning about an
unverified driver software publisher on Windows 8 and later. Click
:guilabel:`Install this driver software anyway`.
4. To import the installer's test signing certificate, double click
:file:`BixVReader.cer` and add it to the *Trusted Root Certification
Authority* and the *Trusted Publishers* at the *Local Computer" (not the
*Current User*).
On the commandline, you could do this :ref:`as follows<Using CertMgr to
Install Test Certificates on a Test Computer>`::
CertMgr.exe /add BixVReader.cer /s /r localMachine root /all
CertMgr.exe /add BixVReader.cer /s /r localMachine trustedpublisher
Feel free to remove the certificate from the certificate stores once the
device is installed.
5. To install |vpcd|, double click :file:`BixVReaderInstaller.msi`.
For debugging |vpcd| and building the driver with an older version of Visual
Studio or WDK please see `Fabio Ottavi's UMDF Driver for a Virtual Smart Card
@@ -300,6 +315,38 @@ through the PC/SC API. You can use the :command:`opensc-explorer` or
provide scripts for testing with npa-tool_ and PCSC-Lite's smart card
reader driver tester.
--------------------------------------------------------------------------------
Testing |vpicc| -t ePass
--------------------------------------------------------------------------------
A simple tool to test |BAC| is available for Python 2.7. On Ubuntu, its
requiremets are installed as follows::
sudo apt-get install python2.7-dev
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
python2.7 get-pip.py
python2.7 -m pip install pycryptodomex pyscard
python2.7 readpass.py --no-gui
git clone https://github.com/henryk/cyberflex-shell
cd cyberflex-shell
Now we can create and run a small script::
echo "select_application a0000002471001" > script.txt
echo "perform_bac L898902C<3UTO6908061F9406236ZE184226B<<<<<14" >> script.txt
python2.7 cyberflex-shell.py script.txt
The tool will wait for a (virtual) smart card to appear. Start |vpicc| and make
sure to configure it with the correct MRZ, i.e.
``P<UTOERIKSSON<<ANNA<MARIX<<<<<<<<<<<<<<<<<<<L898902C<3UTO6908061F9406236ZE184226B<<<<<14``
in this case::
vicc -t ePass
Once the card is connected, ``cyberflex-shell`` will quickly perform |BAC| and
exit. Running the tool without arguments allows entering in interactive mode
to run additional tests.
.. include:: questions.txt
@@ -322,7 +369,8 @@ Notes and References
.. _OpenPACE: https://github.com/frankmorgner/openpace
.. _libqrencode: https://fukuchi.org/works/qrencode/
.. _`Fabio Ottavi's UMDF Driver for a Virtual Smart Card Reader`: http://www.codeproject.com/Articles/134010/An-UMDF-Driver-for-a-Virtual-Smart-Card-Reader
.. _`Windows Driver Kit 10 and Visual Studio 2015`: https://msdn.microsoft.com/en-us/library/windows/hardware/ff557573
.. _`guide for installing VS with WDK`: https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk
.. _`WiX Toolset 3.10`: https://wixtoolset.org/releases/v3.10/stable
.. _`Windows binaries`: https://github.com/frankmorgner/vsmartcard/releases/download/virtualsmartcard-0.7/virtualsmartcard-0.7_win32.zip
.. _`Windows binaries`: https://github.com/frankmorgner/vsmartcard/releases/tag/virtualsmartcard-0.8
.. _npa-tool: https://github.com/frankmorgner/OpenSC
.. _`Using CertMgr to Install Test Certificates on a Test Computer`: https://docs.microsoft.com/en-us/windows-hardware/drivers/install/using-certmgr-to-install-test-certificates-on-a-test-computer

View File

@@ -1,10 +0,0 @@
HandlerTest Module
==================
.. inheritance-diagram:: virtualsmartcard.cards.HandlerTest
.. automodule:: virtualsmartcard.cards.HandlerTest
:members:
:undoc-members:
:inherited-members:
:show-inheritance:
:private-members:

View File

@@ -1,10 +0,0 @@
Relay Module
============
.. inheritance-diagram:: virtualsmartcard.cards.Relay
.. automodule:: virtualsmartcard.cards.Relay
:members:
:undoc-members:
:inherited-members:
:show-inheritance:
:private-members:

View File

@@ -1,10 +0,0 @@
RelayMiddleman Module
=====================
.. inheritance-diagram:: virtualsmartcard.cards.RelayMiddleman
.. automodule:: virtualsmartcard.cards.RelayMiddleman
:members:
:undoc-members:
:inherited-members:
:show-inheritance:
:private-members:

View File

@@ -1,10 +0,0 @@
CardGenerator_test Module
=========================
.. inheritance-diagram:: virtualsmartcard.tests.CardGenerator_test
.. automodule:: virtualsmartcard.tests.CardGenerator_test
:members:
:undoc-members:
:inherited-members:
:show-inheritance:
:private-members:

View File

@@ -1,10 +0,0 @@
CryptoUtils_test Module
=======================
.. inheritance-diagram:: virtualsmartcard.tests.CryptoUtils_test
.. automodule:: virtualsmartcard.tests.CryptoUtils_test
:members:
:undoc-members:
:inherited-members:
:show-inheritance:
:private-members:

View File

@@ -1,10 +0,0 @@
SmartcardSAM_test Module
========================
.. inheritance-diagram:: virtualsmartcard.tests.SmartcardSAM_test
.. automodule:: virtualsmartcard.tests.SmartcardSAM_test
:members:
:undoc-members:
:inherited-members:
:show-inheritance:
:private-members:

View File

@@ -1,10 +0,0 @@
tests Package
=============
.. toctree::
virtualsmartcard.tests.CardGenerator_test
virtualsmartcard.tests.CryptoUtils_test
virtualsmartcard.tests.SmartcardSAM_test
virtualsmartcard.tests.utils_test

View File

@@ -1,10 +0,0 @@
utils_test Module
=================
.. inheritance-diagram:: virtualsmartcard.tests.utils_test
.. automodule:: virtualsmartcard.tests.utils_test
:members:
:undoc-members:
:inherited-members:
:show-inheritance:
:private-members: