respect sphinx style guide to some extent

see http://documentation-style-guide-sphinx.readthedocs.org/en/latest/style-guide.html
This commit is contained in:
Frank Morgner
2013-03-05 20:42:09 +01:00
parent 9be74c7886
commit 37e5f9d514
74 changed files with 488 additions and 264 deletions

View File

@@ -1 +1 @@
doc/README.rst
doc/README.txt

View File

@@ -16,13 +16,13 @@ do_subst = $(SED) \
-e 's,[@]abs_top_srcdir[@],$(abs_top_srcdir),g' \
-e 's,[@]top_srcdir[@],$(top_srcdir),g'
EXTRA_DIST = README.rst.in README.rst autotools.rst autotools.rst.in questions.rst questions.rst.in download.rst.in download.rst
EXTRA_DIST = README.txt.in README.txt autotools.txt autotools.txt.in questions.txt questions.txt.in download.txt.in download.txt
doc: *.in
$(do_subst) < autotools.rst.in > autotools.rst
$(do_subst) < questions.rst.in > questions.rst
$(do_subst) < download.rst.in > download.rst
$(do_subst) < README.rst.in > README.rst
$(do_subst) < autotools.txt.in > autotools.txt
$(do_subst) < questions.txt.in > questions.txt
$(do_subst) < download.txt.in > download.txt
$(do_subst) < README.txt.in > README.txt
touch doc
clean-local:

View File

@@ -1,17 +1,13 @@
.. highlight:: sh
.. _OpenSC: http://www.opensc-project.org/opensc
.. _GadgetFS: http://www.linux-usb.org/gadget/
.. _libccid: http://pcsclite.alioth.debian.org/ccid.html
.. |npa| replace:: :ref:`npa`
.. |PACE| replace:: :abbr:`PACE (Password Authenticated Connection Establishment)`
.. _ccid-emulator:
********************************************************************************
#################
USB CCID Emulator
********************************************************************************
#################
:Author:
Frank Morgner <morgner@informatik.hu-berlin.de>
@@ -46,17 +42,15 @@ USB CCID PC/SC
================================== ============================================================
The USB CCID Emulator is implemented using GadgetFS_. Some fragments of the source
code are based on the GadgetFS example and on the source code of the OpenSC_
code are based on the GadgetFS example and on the source code of the OpenSC
tools.
.. [#f1] Note that the heavily outdated `Windows USB CCID driver <http://msdn.microsoft.com/en-us/windows/hardware/gg487509>`_ does not support secure PIN entry or PIN modification. USB CCID Emulator comes with a patch for libccid_ to support |PACE|, because it is not yet standardised in USB CCID. However, the traditional commands can be used without restriction.
.. include:: download.txt
.. include:: download.rst
.. include:: autotools.rst
.. include:: autotools.txt
Running the USB CCID Emulator has the following dependencies:
@@ -69,13 +63,13 @@ needs a usable PC/SC middleware with USB CCID driver. This is the case for most
modern Windows and Unix-like systems by default.
-----------------
=================
Hints on GadgetFS
-----------------
=================
To create a USB Gadget in both USB host and USB client mode, you need to load
the kernel module :program:`gadgetfs`. A guide focused on Debian based systems
to run and compile GadgetFS_, you can find `here
to run and compile GadgetFS, you can find in the `OpenMoko Wiki
<http://wiki.openmoko.org/wiki/Building_Gadget_USB_Module>`_.
On OpenMoko it is likely that you need to `patch your kernel
@@ -88,14 +82,14 @@ loading the module, you maybe want to check out `this patch
<http://comments.gmane.org/gmane.linux.usb.general/47440>`_.
---------------
===============
Hints on OpenSC
---------------
===============
Without the |npa| the USB CCID Emulator links against OpenSC, which is discouraged
and hindered since OpenSC version >= 0.12. You need the OpenSC components to be
installed (especially :file:`libopensc.so`). Here is an example of how to get
the standard installation of OpenSC_ without |PACE|::
the standard installation of OpenSC without |PACE|::
PREFIX=/tmp/install
OPENSC=opensc
@@ -112,12 +106,12 @@ configure the USB CCID Emulator to use it::
./configure OPENSC_LIBS="-L$PREFIX/lib -lopensc"
=====
*****
Usage
=====
*****
The USB CCID Emulator has various command line options to customize the appearance
on the USB host. In order to run the USB CCID Emulator GadgetFS_ must be loaded
on the USB host. In order to run the USB CCID Emulator GadgetFS must be loaded
and mounted. The USB CCID Emulator is compatible with the unix driver libccid_
and the `Windows USB CCID driver
<http://msdn.microsoft.com/en-us/windows/hardware/gg487509>`_. To initialize
@@ -126,4 +120,17 @@ and the `Windows USB CCID driver
.. program-output:: ccid-emulator --help
.. include:: questions.rst
.. include:: questions.txt
********************
Notes and References
********************
.. target-notes::
.. [#f1] Note that the heavily outdated `Windows USB CCID driver`_ does not support secure PIN entry or PIN modification. USB CCID Emulator comes with a patch for libccid_ to support |PACE|, because it is not yet standardised in USB CCID. However, the traditional commands can be used without restriction.
.. _`Windows USB CCID driver`: http://msdn.microsoft.com/en-us/windows/hardware/gg487509
.. _`OpenSC`: http://www.opensc-project.org/opensc
.. _`GadgetFS`: http://www.linux-usb.org/gadget/
.. _`libccid`: http://pcsclite.alioth.debian.org/ccid.html

View File

@@ -1,17 +1,13 @@
.. highlight:: sh
.. _OpenSC: http://www.opensc-project.org/opensc
.. _GadgetFS: http://www.linux-usb.org/gadget/
.. _libccid: http://pcsclite.alioth.debian.org/ccid.html
.. |npa| replace:: :ref:`npa`
.. |PACE| replace:: :abbr:`PACE (Password Authenticated Connection Establishment)`
.. _ccid-emulator:
********************************************************************************
@PACKAGE_NAME@
********************************************************************************
#################
USB CCID Emulator
#################
:Author:
Frank Morgner <morgner@informatik.hu-berlin.de>
@@ -20,21 +16,21 @@
:Tested Platforms:
Linux (Debian, Ubuntu, OpenMoko)
The @PACKAGE_NAME@ forwards a locally present PC/SC smart card reader as a
standard USB CCID reader. @PACKAGE_NAME@ can be used as trusted intermediary
The USB CCID Emulator forwards a locally present PC/SC smart card reader as a
standard USB CCID reader. USB CCID Emulator can be used as trusted intermediary
enabling secure PIN entry and PIN modification. In combination with the |npa|
also |PACE| can be performed by the emulator.
If the machine running :command:`@PACKAGE@` is in USB device mode, a local
If the machine running :command:`ccid-emulator` is in USB device mode, a local
reader is forwareded via USB to another machine. If in USB host mode, the USB
CCID reader will locally be present.
Applications on Windows and Unix-like systems can access the @PACKAGE_NAME@
Applications on Windows and Unix-like systems can access the USB CCID Emulator
through PC/SC as if it was a real smart card reader. No installation of a smart
card driver is required since USB CCID drivers are usually shipped with the
modern OS. [#f1]_
Here is a subset of USB CCID commands supported by the @PACKAGE_NAME@ with
Here is a subset of USB CCID commands supported by the USB CCID Emulator with
their PC/SC counterpart:
================================== ============================================================
@@ -45,37 +41,35 @@ USB CCID PC/SC
``PC_to_RDR_Secure`` (proprietary) ``FEATURE_EXECUTE_PACE``
================================== ============================================================
The @PACKAGE_NAME@ is implemented using GadgetFS_. Some fragments of the source
code are based on the GadgetFS example and on the source code of the OpenSC_
The USB CCID Emulator is implemented using GadgetFS_. Some fragments of the source
code are based on the GadgetFS example and on the source code of the OpenSC
tools.
.. [#f1] Note that the heavily outdated `Windows USB CCID driver <http://msdn.microsoft.com/en-us/windows/hardware/gg487509>`_ does not support secure PIN entry or PIN modification. @PACKAGE_NAME@ comes with a patch for libccid_ to support |PACE|, because it is not yet standardised in USB CCID. However, the traditional commands can be used without restriction.
.. include:: download.txt
.. include:: download.rst
.. include:: autotools.txt
.. include:: autotools.rst
Running the @PACKAGE_NAME@ has the following dependencies:
Running the USB CCID Emulator has the following dependencies:
- Linux Kernel with GadgetFS_
- OpenSC_
- |npa| (only if support for |PACE| is enabled)
Whereas using the @PACKAGE_NAME@ on the host system as smart card reader only
Whereas using the USB CCID Emulator on the host system as smart card reader only
needs a usable PC/SC middleware with USB CCID driver. This is the case for most
modern Windows and Unix-like systems by default.
-----------------
=================
Hints on GadgetFS
-----------------
=================
To create a USB Gadget in both USB host and USB client mode, you need to load
the kernel module :program:`gadgetfs`. A guide focused on Debian based systems
to run and compile GadgetFS_, you can find `here
to run and compile GadgetFS, you can find in the `OpenMoko Wiki
<http://wiki.openmoko.org/wiki/Building_Gadget_USB_Module>`_.
On OpenMoko it is likely that you need to `patch your kernel
@@ -88,14 +82,14 @@ loading the module, you maybe want to check out `this patch
<http://comments.gmane.org/gmane.linux.usb.general/47440>`_.
---------------
===============
Hints on OpenSC
---------------
===============
Without the |npa| the @PACKAGE_NAME@ links against OpenSC, which is discouraged
Without the |npa| the USB CCID Emulator links against OpenSC, which is discouraged
and hindered since OpenSC version >= 0.12. You need the OpenSC components to be
installed (especially :file:`libopensc.so`). Here is an example of how to get
the standard installation of OpenSC_ without |PACE|::
the standard installation of OpenSC without |PACE|::
PREFIX=/tmp/install
OPENSC=opensc
@@ -107,23 +101,36 @@ the standard installation of OpenSC_ without |PACE|::
make install
Now :file:`libopensc.so` should be located in ``$PREFIX/lib``. Here is how to
configure the @PACKAGE_NAME@ to use it::
configure the USB CCID Emulator to use it::
./configure OPENSC_LIBS="-L$PREFIX/lib -lopensc"
=====
*****
Usage
=====
*****
The @PACKAGE_NAME@ has various command line options to customize the appearance
on the USB host. In order to run the @PACKAGE_NAME@ GadgetFS_ must be loaded
and mounted. The @PACKAGE_NAME@ is compatible with the unix driver libccid_
The USB CCID Emulator has various command line options to customize the appearance
on the USB host. In order to run the USB CCID Emulator GadgetFS must be loaded
and mounted. The USB CCID Emulator is compatible with the unix driver libccid_
and the `Windows USB CCID driver
<http://msdn.microsoft.com/en-us/windows/hardware/gg487509>`_. To initialize
|PACE| using the PC/SC API you need to patch libccid_ (see :file:`patches`).
.. program-output:: @PACKAGE@ --help
.. program-output:: ccid-emulator --help
.. include:: questions.rst
.. include:: questions.txt
********************
Notes and References
********************
.. target-notes::
.. [#f1] Note that the heavily outdated `Windows USB CCID driver`_ does not support secure PIN entry or PIN modification. USB CCID Emulator comes with a patch for libccid_ to support |PACE|, because it is not yet standardised in USB CCID. However, the traditional commands can be used without restriction.
.. _`Windows USB CCID driver`: http://msdn.microsoft.com/en-us/windows/hardware/gg487509
.. _`OpenSC`: http://www.opensc-project.org/opensc
.. _`GadgetFS`: http://www.linux-usb.org/gadget/
.. _`libccid`: http://pcsclite.alioth.debian.org/ccid.html

View File

@@ -1 +0,0 @@
../../doc/autotools.rst.in

View File

@@ -1,8 +1,8 @@
.. highlight:: sh
============
************
Installation
============
************
The USB CCID Emulator uses the GNU Build System to compile and install. If you are
unfamiliar with it, please have a look at :file:`INSTALL`. If you have a look

1
ccid/doc/autotools.txt.in Symbolic link
View File

@@ -0,0 +1 @@
../../doc/autotools.txt.in

View File

@@ -1 +0,0 @@
../../doc/download.rst.in

12
ccid/doc/download.txt Normal file
View File

@@ -0,0 +1,12 @@
.. highlight:: sh
********
Download
********
You can find the latest release of USB CCID Emulator `here
<http://sourceforge.net/projects/vsmartcard/files>`_.
Alternatively, you can clone our git repository::
git clone git://vsmartcard.git.sourceforge.net/gitroot/vsmartcard/vsmartcard

1
ccid/doc/download.txt.in Symbolic link
View File

@@ -0,0 +1 @@
../../doc/download.txt.in

View File

@@ -1 +0,0 @@
../../doc/questions.rst.in

View File

@@ -1,6 +1,6 @@
========
********
Question
========
********
Do you have questions, suggestions or contributions? Feedback of any kind is
more than welcome! Please use our `project trackers <http://sourceforge.net/projects/vsmartcard/support>`_.

1
ccid/doc/questions.txt.in Symbolic link
View File

@@ -0,0 +1 @@
../../doc/questions.txt.in

View File

@@ -1,8 +1,8 @@
.. highlight:: sh
============
************
Installation
============
************
The @PACKAGE_NAME@ uses the GNU Build System to compile and install. If you are
unfamiliar with it, please have a look at :file:`INSTALL`. If you have a look

View File

@@ -41,7 +41,7 @@ extensions = ["breathe", "sphinxcontrib.doxylink", "sphinx.ext.autosummary", "sp
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
source_suffix = '.txt'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
@@ -74,7 +74,7 @@ release = '2012-04-11'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build', '*/questions.rst', '*/autotools.rst', '*/download.rst']
exclude_patterns = ['_build', '*/questions.txt', '*/autotools.txt', '*/download.txt']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None

View File

@@ -1,8 +1,8 @@
.. highlight:: sh
===============================================================================
********
Download
===============================================================================
********
You can find the latest release of @PACKAGE_NAME@ `here
<http://sourceforge.net/projects/vsmartcard/files>`_.

View File

@@ -1,6 +1,6 @@
========
********
Question
========
********
Do you have questions, suggestions or contributions? Feedback of any kind is
more than welcome! Please use our `project trackers <@PACKAGE_BUGREPORT@>`_.

View File

@@ -1 +1 @@
doc/README.rst
doc/README.txt

View File

@@ -16,18 +16,18 @@ do_subst = $(SED) \
-e 's,[@]abs_top_srcdir[@],$(abs_top_srcdir),g' \
-e 's,[@]top_srcdir[@],$(top_srcdir),g'
EXTRA_DIST = README.rst.in README.rst Doxyfile.in example.c autotools.rst autotools.rst.in questions.rst questions.rst.in download.rst.in download.rst
EXTRA_DIST = README.txt.in README.txt Doxyfile.in example.c autotools.txt autotools.txt.in questions.txt questions.txt.in download.txt.in download.txt
DOXYGEN = doxygen
doc: $(top_srcdir)/src/npa/*.h *.in
$(do_subst) < Doxyfile.in > Doxyfile
$(DOXYGEN) Doxyfile
touch api.rst
$(do_subst) < autotools.rst.in > autotools.rst
$(do_subst) < questions.rst.in > questions.rst
$(do_subst) < download.rst.in > download.rst
$(do_subst) < README.rst.in > README.rst
touch api.txt
$(do_subst) < autotools.txt.in > autotools.txt
$(do_subst) < questions.txt.in > questions.txt
$(do_subst) < download.txt.in > download.txt
$(do_subst) < README.txt.in > README.txt
touch doc
clean-local:

View File

@@ -1,18 +1,14 @@
.. highlight:: sh
.. _OpenSC: https://github.com/OpenSC/OpenSC
.. _OpenSSL: http://www.openssl.org
.. _OpenPACE: http://openpace.sourceforge.net
.. |PACE| replace:: :abbr:`PACE (Password Authenticated Connection Establishment)`
.. |npa-tool| replace:: :command:`npa-tool`
.. _npa:
********************************************************************************
######################
nPA Smart Card Library
********************************************************************************
######################
:Author:
Frank Morgner <morgner@informatik.hu-berlin.de>
@@ -35,12 +31,12 @@ transparent SM usage in OpenSC. This allows nPA Smart Card Library to be fully
compatible with OpenSC.
.. include:: download.rst
.. include:: download.txt
.. _npa-install:
.. include:: autotools.rst
.. include:: autotools.txt
The nPA Smart Card Library has the following dependencies:
@@ -49,9 +45,9 @@ The nPA Smart Card Library has the following dependencies:
- OpenSC_
------------------------------------
====================================
Installation of OpenPACE and OpenSSL
------------------------------------
====================================
The nPA Smart Card Library links against OpenSSL_, which must be patched for OpenPACE_.
Here is an example of how to get the standard installation of OpenPACE_ (with
@@ -69,13 +65,13 @@ the required binaries for OpenSSL)::
The file :file:`libcrypto.pc` should be located in ``$INSTALL/lib/pkgconfig``.
----------------------
======================
Installation of OpenSC
----------------------
======================
The nPA Smart Card Library need the OpenSC components to be installed (especially
:file:`libopensc.so`). Here is an example of how to get a suitable installation
of OpenSC_::
of OpenSC::
VSMARTCARD=vsmartcard
git clone git://vsmartcard.git.sourceforge.net/gitroot/vsmartcard $VSMARTCARD
@@ -88,9 +84,9 @@ of OpenSC_::
Now :file:`libopensc.so` should be located in ``$PREFIX/lib``.
--------------------------------------------------------------------------------
==========================================
Installation of the nPA Smart Card Library
--------------------------------------------------------------------------------
==========================================
To complete this step-by-step guide, here is how to install nPA Smart Card Library::
@@ -127,8 +123,8 @@ be found in :file:`apdus`.
Linking against libnpa
----------------------
Following the section `Installation`_ above, you have installed OpenSSL_,
OpenPACE_, OpenSC_ and the nPA Smart Card Library to `$PREFIX` which points to
Following the section Installation_ above, you have installed OpenSSL,
OpenPACE, OpenSC and the nPA Smart Card Library to `$PREFIX` which points to
:file:`/tmp/install`. To compile a program using nPA Smart Card Library you also need
the OpenSC header files, which are located in
:file:`$VSMARTCARD/npa/src/opensc` Here is how to compile an external program
@@ -145,4 +141,15 @@ Alternatively you can specify libraries and flags by hand::
-L$PREFIX/lib -lnpa -lopensc -lcrypto"
.. include:: questions.rst
.. include:: questions.txt
********************
Notes and References
********************
.. target-notes::
.. _OpenSC: https://github.com/OpenSC/OpenSC
.. _OpenSSL: http://www.openssl.org
.. _OpenPACE: http://openpace.sourceforge.net

View File

@@ -1,18 +1,14 @@
.. highlight:: sh
.. _OpenSC: https://github.com/OpenSC/OpenSC
.. _OpenSSL: http://www.openssl.org
.. _OpenPACE: http://openpace.sourceforge.net
.. |PACE| replace:: :abbr:`PACE (Password Authenticated Connection Establishment)`
.. |npa-tool| replace:: :command:`npa-tool`
.. _npa:
********************************************************************************
@PACKAGE_NAME@
********************************************************************************
######################
nPA Smart Card Library
######################
:Author:
Frank Morgner <morgner@informatik.hu-berlin.de>
@@ -24,36 +20,36 @@
:Potential Platforms:
Unix-like operating systems (Mac OS, Solaris, BSD, ...)
The @PACKAGE_NAME@ offers an easy to use API for the new German identity card
The nPA Smart Card Library offers an easy to use API for the new German identity card
(neuer Personalausweis, nPA). The library also implements secure messaging,
which could also be used for other cards. The included |npa-tool| can
be used for PIN management or to send APDUs inside a secure channel.
The @PACKAGE_NAME@ is implemented using OpenPACE_ and OpenSC_. @PACKAGE_NAME@
The nPA Smart Card Library is implemented using OpenPACE_ and OpenSC_. nPA Smart Card Library
implements and initializes Secure Messaging wrappers of OpenSC to allow a
transparent SM usage in OpenSC. This allows @PACKAGE_NAME@ to be fully
transparent SM usage in OpenSC. This allows nPA Smart Card Library to be fully
compatible with OpenSC.
.. include:: download.rst
.. include:: download.txt
.. _npa-install:
.. include:: autotools.rst
.. include:: autotools.txt
The @PACKAGE_NAME@ has the following dependencies:
The nPA Smart Card Library has the following dependencies:
- OpenSSL_
- OpenPACE_
- OpenSC_
------------------------------------
====================================
Installation of OpenPACE and OpenSSL
------------------------------------
====================================
The @PACKAGE_NAME@ links against OpenSSL_, which must be patched for OpenPACE_.
The nPA Smart Card Library links against OpenSSL_, which must be patched for OpenPACE_.
Here is an example of how to get the standard installation of OpenPACE_ (with
the required binaries for OpenSSL)::
@@ -69,13 +65,13 @@ the required binaries for OpenSSL)::
The file :file:`libcrypto.pc` should be located in ``$INSTALL/lib/pkgconfig``.
----------------------
======================
Installation of OpenSC
----------------------
======================
The @PACKAGE_NAME@ need the OpenSC components to be installed (especially
The nPA Smart Card Library need the OpenSC components to be installed (especially
:file:`libopensc.so`). Here is an example of how to get a suitable installation
of OpenSC_::
of OpenSC::
VSMARTCARD=vsmartcard
git clone git://vsmartcard.git.sourceforge.net/gitroot/vsmartcard $VSMARTCARD
@@ -88,11 +84,11 @@ of OpenSC_::
Now :file:`libopensc.so` should be located in ``$PREFIX/lib``.
--------------------------------------------------------------------------------
Installation of the @PACKAGE_NAME@
--------------------------------------------------------------------------------
==========================================
Installation of the nPA Smart Card Library
==========================================
To complete this step-by-step guide, here is how to install @PACKAGE_NAME@::
To complete this step-by-step guide, here is how to install nPA Smart Card Library::
cd $VSMARTCARD/npa
autoreconf --verbose --install
@@ -127,9 +123,9 @@ be found in :file:`apdus`.
Linking against libnpa
----------------------
Following the section `Installation`_ above, you have installed OpenSSL_,
OpenPACE_, OpenSC_ and the @PACKAGE_NAME@ to `$PREFIX` which points to
:file:`/tmp/install`. To compile a program using @PACKAGE_NAME@ you also need
Following the section Installation_ above, you have installed OpenSSL,
OpenPACE, OpenSC and the nPA Smart Card Library to `$PREFIX` which points to
:file:`/tmp/install`. To compile a program using nPA Smart Card Library you also need
the OpenSC header files, which are located in
:file:`$VSMARTCARD/npa/src/opensc` Here is how to compile an external program
with these libraries::
@@ -145,4 +141,15 @@ Alternatively you can specify libraries and flags by hand::
-L$PREFIX/lib -lnpa -lopensc -lcrypto"
.. include:: questions.rst
.. include:: questions.txt
********************
Notes and References
********************
.. target-notes::
.. _OpenSC: https://github.com/OpenSC/OpenSC
.. _OpenSSL: http://www.openssl.org
.. _OpenPACE: http://openpace.sourceforge.net

View File

@@ -1 +0,0 @@
../../doc/autotools.rst.in

View File

@@ -1,8 +1,8 @@
.. highlight:: sh
============
************
Installation
============
************
The nPA Smart Card Library uses the GNU Build System to compile and install. If you are
unfamiliar with it, please have a look at :file:`INSTALL`. If you have a look

1
npa/doc/autotools.txt.in Symbolic link
View File

@@ -0,0 +1 @@
../../doc/autotools.txt.in

View File

@@ -1 +0,0 @@
../../doc/download.rst.in

View File

@@ -1,8 +1,8 @@
.. highlight:: sh
===============================================================================
********
Download
===============================================================================
********
You can find the latest release of nPA Smart Card Library `here
<http://sourceforge.net/projects/vsmartcard/files>`_.

1
npa/doc/download.txt.in Symbolic link
View File

@@ -0,0 +1 @@
../../doc/download.txt.in

View File

@@ -1 +0,0 @@
../../doc/questions.rst.in

View File

@@ -1,6 +1,6 @@
========
********
Question
========
********
Do you have questions, suggestions or contributions? Feedback of any kind is
more than welcome! Please use our `project trackers <http://sourceforge.net/projects/vsmartcard/support>`_.

1
npa/doc/questions.txt.in Symbolic link
View File

@@ -0,0 +1 @@
../../doc/questions.txt.in

View File

@@ -1 +1 @@
doc/README.rst
doc/README.txt

View File

@@ -16,13 +16,13 @@ do_subst = $(SED) \
-e 's,[@]abs_top_srcdir[@],$(abs_top_srcdir),g' \
-e 's,[@]top_srcdir[@],$(top_srcdir),g'
EXTRA_DIST = README.rst.in README.rst autotools.rst.in questions.rst.in autotools.rst questions.rst download.rst.in download.rst
EXTRA_DIST = README.txt.in README.txt autotools.txt.in questions.txt.in autotools.txt questions.txt download.txt.in download.txt
doc: *.in
$(do_subst) < autotools.rst.in > autotools.rst
$(do_subst) < questions.rst.in > questions.rst
$(do_subst) < download.rst.in > download.rst
$(do_subst) < README.rst.in > README.rst
$(do_subst) < autotools.txt.in > autotools.txt
$(do_subst) < questions.txt.in > questions.txt
$(do_subst) < download.txt.in > download.txt
$(do_subst) < README.txt.in > README.txt
touch doc
clean-local:

View File

@@ -1,14 +1,10 @@
.. highlight:: sh
.. _libnfc: http://www.libnfc.org/
.. _OpenPICC: http://www.openpcd.org/OpenPICC
.. _PCSC-lite: http://pcsclite.alioth.debian.org/
.. _pcsc-relay:
********************************************************************************
###########
PC/SC Relay
********************************************************************************
###########
:Authors:
- Frank Morgner <morgner@informatik.hu-berlin.de>
@@ -35,25 +31,24 @@ emulate an ISO/IEC 14443 smart card.
.. note::
This software can actually be used in a relay attack allowing full access
to the card. `We discussed the impact especially on the German identity
card
<http://media.ccc.de/browse/congress/2010/27c3-4297-de-die_gesamte_technik_ist_sicher.html>`_,
but it generally concerns *all* contact-less smart cards.
to the card. We discussed the impact especially on the `Relay attack
against the German ID card`_, but it generally concerns *all* contact-less
smart cards.
.. include:: download.rst
.. include:: download.txt
.. include:: autotools.rst
.. include:: autotools.txt
PC/SC Relay has the following dependencies:
- PC/SC middleware
- libnfc_
---------------
===============
Hints on libnfc
---------------
===============
PC/SC Relay links against libnfc_. Here is an example of how to get the standard
installation of the latter::
@@ -74,9 +69,9 @@ configure PC/SC Relay to use it::
./configure PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
-------------------------
=========================
Hints on PC/SC middleware
-------------------------
=========================
A PC/SC middleware is included by default in most modern operating systems. On
Unix-like systems (Linux, OS X, Sun OS) it is realized by PCSC-Lite_. To
@@ -88,11 +83,23 @@ Microsoft's developement environment Visual Studio includes all necessary data
for building PC/SC Relay.
=====
*****
Usage
=====
*****
.. program-output:: pcsc-relay --help
.. include:: questions.rst
.. include:: questions.txt
********************
Notes and References
********************
.. target-notes::
.. _libnfc: http://www.libnfc.org/
.. _OpenPICC: http://www.openpcd.org/OpenPICC
.. _PCSC-lite: http://pcsclite.alioth.debian.org/
.. _`Relay attack against the German ID card`: http://media.ccc.de/browse/congress/2010/27c3-4297-de-die_gesamte_technik_ist_sicher.html

View File

@@ -1,14 +1,10 @@
.. highlight:: sh
.. _libnfc: http://www.libnfc.org/
.. _OpenPICC: http://www.openpcd.org/OpenPICC
.. _PCSC-lite: http://pcsclite.alioth.debian.org/
.. _pcsc-relay:
********************************************************************************
@PACKAGE_NAME@
********************************************************************************
###########
PC/SC Relay
###########
:Authors:
- Frank Morgner <morgner@informatik.hu-berlin.de>
@@ -21,7 +17,7 @@
:Potential Platforms:
Unix-like operating systems (Mac OS, Solaris, BSD, ...)
Welcome to @PACKAGE_NAME@. The purpose of @PACKAGE_NAME@ is to relay a smart
Welcome to PC/SC Relay. The purpose of PC/SC Relay is to relay a smart
card using an contact-less interface. Currently the following contact-less
backends:
@@ -30,32 +26,31 @@ backends:
Command APDUs are received with the contact-less interface and forwarded to an
existing smart card via PC/SC. The Response APDUs are then sent back via RFID.
You can use @PACKAGE_NAME@ in combination with the :ref:`vicc` to completely
You can use PC/SC Relay in combination with the :ref:`vicc` to completely
emulate an ISO/IEC 14443 smart card.
.. note::
This software can actually be used in a relay attack allowing full access
to the card. `We discussed the impact especially on the German identity
card
<http://media.ccc.de/browse/congress/2010/27c3-4297-de-die_gesamte_technik_ist_sicher.html>`_,
but it generally concerns *all* contact-less smart cards.
to the card. We discussed the impact especially on the `Relay attack
against the German ID card`_, but it generally concerns *all* contact-less
smart cards.
.. include:: download.rst
.. include:: download.txt
.. include:: autotools.rst
.. include:: autotools.txt
@PACKAGE_NAME@ has the following dependencies:
PC/SC Relay has the following dependencies:
- PC/SC middleware
- libnfc_
---------------
===============
Hints on libnfc
---------------
===============
@PACKAGE_NAME@ links against libnfc_. Here is an example of how to get the standard
PC/SC Relay links against libnfc_. Here is an example of how to get the standard
installation of the latter::
PREFIX=/tmp/install
@@ -67,32 +62,44 @@ installation of the latter::
make
make install
Building @PACKAGE_NAME@ with libnfc_ is done best using :command:`pkg-config`. The file
Building PC/SC Relay with libnfc_ is done best using :command:`pkg-config`. The file
:file:`libnfc.pc` should be located in ``$INSTALL/lib/pkgconfig``. Here is how to
configure @PACKAGE_NAME@ to use it::
configure PC/SC Relay to use it::
./configure PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
-------------------------
=========================
Hints on PC/SC middleware
-------------------------
=========================
A PC/SC middleware is included by default in most modern operating systems. On
Unix-like systems (Linux, OS X, Sun OS) it is realized by PCSC-Lite_. To
compile @PACKAGE_NAME@ you will need to install the PCSC-Lite_ headers from
compile PC/SC Relay you will need to install the PCSC-Lite_ headers from
your distribution.
Windows also ships with a PC/SC middleware in form of the Winscard module.
Microsoft's developement environment Visual Studio includes all necessary data
for building @PACKAGE_NAME@.
for building PC/SC Relay.
=====
*****
Usage
=====
*****
.. program-output:: @PACKAGE@ --help
.. program-output:: pcsc-relay --help
.. include:: questions.rst
.. include:: questions.txt
********************
Notes and References
********************
.. target-notes::
.. _libnfc: http://www.libnfc.org/
.. _OpenPICC: http://www.openpcd.org/OpenPICC
.. _PCSC-lite: http://pcsclite.alioth.debian.org/
.. _`Relay attack against the German ID card`: http://media.ccc.de/browse/congress/2010/27c3-4297-de-die_gesamte_technik_ist_sicher.html

View File

@@ -1 +0,0 @@
../../doc/autotools.rst.in

View File

@@ -1,8 +1,8 @@
.. highlight:: sh
============
************
Installation
============
************
The PC/SC Relay uses the GNU Build System to compile and install. If you are
unfamiliar with it, please have a look at :file:`INSTALL`. If you have a look

View File

@@ -0,0 +1 @@
../../doc/autotools.txt.in

View File

@@ -1 +0,0 @@
../../doc/download.rst.in

View File

@@ -1,8 +1,8 @@
.. highlight:: sh
===============================================================================
********
Download
===============================================================================
********
You can find the latest release of PC/SC Relay `here
<http://sourceforge.net/projects/vsmartcard/files>`_.

View File

@@ -0,0 +1 @@
../../doc/download.txt.in

View File

@@ -1 +0,0 @@
../../doc/questions.rst.in

View File

@@ -1,6 +1,6 @@
========
********
Question
========
********
Do you have questions, suggestions or contributions? Feedback of any kind is
more than welcome! Please use our `project trackers <http://sourceforge.net/projects/vsmartcard/support>`_.

View File

@@ -0,0 +1 @@
../../doc/questions.txt.in

View File

@@ -1 +1 @@
doc/README.rst
doc/README.txt

View File

@@ -17,16 +17,16 @@ do_subst = $(SED) \
-e 's,[@]abs_top_srcdir[@],$(abs_top_srcdir),g' \
-e 's,[@]top_srcdir[@],$(top_srcdir),g'
EXTRA_DIST = README.rst.in README.rst autotools.rst.in questions.rst.in autotools.rst questions.rst download.rst.in download.rst
EXTRA_DIST = README.txt.in README.txt autotools.txt.in questions.txt.in autotools.txt questions.txt download.txt.in download.txt
dist_noinst_SCRIPTS = generate_modules.py
doc: $(top_srcdir)/src/vpicc/virtualsmartcard/*.py $(top_srcdir)/src/vpicc/virtualsmartcard/cards/*.py generate_modules.py *.in
$(do_subst) < autotools.rst.in > autotools.rst
$(do_subst) < questions.rst.in > questions.rst
$(do_subst) < download.rst.in > download.rst
$(do_subst) < README.rst.in > README.rst
./generate_modules.py $(top_srcdir)/src/vpicc --dest-dir=api --suffix=rst --no-toc -1 -f
$(do_subst) < autotools.txt.in > autotools.txt
$(do_subst) < questions.txt.in > questions.txt
$(do_subst) < download.txt.in > download.txt
$(do_subst) < README.txt.in > README.txt
./generate_modules.py $(top_srcdir)/src/vpicc --dest-dir=api --suffix=txt --no-toc -1 -f
touch doc
clean-local:

View File

@@ -1,14 +1,5 @@
.. highlight:: sh
.. _PBKDF2: https://www.dlitz.net/software/python-pbkdf2/
.. _PCSC-lite: http://pcsclite.alioth.debian.org/
.. _PCSC-lite: http://pcsclite.alioth.debian.org/
.. _PIP: http://www.pythonware.com/products/pil/
.. _PyCrypto: http://pycrypto.org/
.. _Python: http://www.python.org/
.. _cyberflex-shell: https://github.com/henryk/cyberflex-shell
.. _pyscard: http://pyscard.sourceforge.net/
.. |vpicc| replace:: :abbr:`vpicc (virtual smart card)`
.. |vpcd| replace:: :abbr:`vpcd (virtual smart card reader)`
.. |EAC| replace:: :abbr:`EAC (Extended Access Control)`
@@ -19,9 +10,9 @@
.. _vicc:
********************************************************************************
##################
Virtual Smart Card
********************************************************************************
##################
:Authors:
- Frank Morgner <morgner@informatik.hu-berlin.de>
@@ -55,10 +46,10 @@ reader.
The file :file:`utils.py` was taken from Henryk Plötz's cyberflex-shell_.
.. include:: download.rst
.. include:: download.txt
.. include:: autotools.rst
.. include:: autotools.txt
Depending on your usage of the |vpicc| you might or might not need
the following:
@@ -72,11 +63,11 @@ the following:
The |vpcd| depends on PCSC-Lite_.
================================================================================
******************************
Running the Virtual Smart Card
================================================================================
******************************
First you need to make sure that :command:`pcscd` loads the |vpcd|. You might
Fitxt you need to make sure that :command:`pcscd` loads the |vpcd|. You might
need to run :command:`update-reader.conf` to update its configuration file.
Then :command:`pcscd -f -d` should say something like "Attempting startup of
Virtual PCD"
@@ -90,9 +81,10 @@ You should now be able to access the |vpicc| through the PC/SC API via
|vpcd|/:command:`pcscd`. You can use the :command:`opensc-explorer` or
:command:`pcsc_scan` for testing.
--------------------------------------------------------------------------------
==========================================================
Accessing the Virtual Smart Card from Windows applications
--------------------------------------------------------------------------------
==========================================================
Running |vpcd| under Windows is currently not supported, because it implements
a smart card driver specific for PCSC-Lite (:command:`pcscd`). This means, that
@@ -120,4 +112,19 @@ However, there are several more or less complicated paths you can go:
PC/SC provider for a native Windows application.
.. include:: questions.rst
.. include:: questions.txt
********************
Notes and References
********************
.. target-notes::
.. _PBKDF2: https://www.dlitz.net/software/python-pbkdf2/
.. _PCSC-lite: http://pcsclite.alioth.debian.org/
.. _PIP: http://www.pythonware.com/products/pil/
.. _PyCrypto: http://pycrypto.org/
.. _Python: http://www.python.org/
.. _cyberflex-shell: https://github.com/henryk/cyberflex-shell
.. _pyscard: http://pyscard.sourceforge.net/

View File

@@ -1,14 +1,5 @@
.. highlight:: sh
.. _PBKDF2: https://www.dlitz.net/software/python-pbkdf2/
.. _PCSC-lite: http://pcsclite.alioth.debian.org/
.. _PCSC-lite: http://pcsclite.alioth.debian.org/
.. _PIP: http://www.pythonware.com/products/pil/
.. _PyCrypto: http://pycrypto.org/
.. _Python: http://www.python.org/
.. _cyberflex-shell: https://github.com/henryk/cyberflex-shell
.. _pyscard: http://pyscard.sourceforge.net/
.. |vpicc| replace:: :abbr:`vpicc (virtual smart card)`
.. |vpcd| replace:: :abbr:`vpcd (virtual smart card reader)`
.. |EAC| replace:: :abbr:`EAC (Extended Access Control)`
@@ -19,9 +10,9 @@
.. _vicc:
********************************************************************************
@PACKAGE_NAME@
********************************************************************************
##################
Virtual Smart Card
##################
:Authors:
- Frank Morgner <morgner@informatik.hu-berlin.de>
@@ -34,8 +25,8 @@
:Potential Platforms:
Unix-like operating systems (Mac OS, Solaris, BSD, ...)
@PACKAGE_NAME@ emulates a smart card and makes it accessible through PC/SC.
Currently the @PACKAGE_NAME@ supports the following types of smart cards:
Virtual Smart Card emulates a smart card and makes it accessible through PC/SC.
Currently the Virtual Smart Card supports the following types of smart cards:
- Generic ISO-7816 smart card including secure messaging
- German electronic identity card (nPA) with complete support for |EAC| (|PACE|, |TA|, |CA|)
@@ -48,17 +39,17 @@ default |vpicc| communicates with |vpcd| through a socket on localhost port
35963. But the |vpicc| does not need to run on the same machine as the |vpcd|,
they can connect over the internet for example.
Although the @PACKAGE_NAME@ is a software emulator, you can use
Although the Virtual Smart Card is a software emulator, you can use
:ref:`pcsc-relay` to make it accessible to an external contact-less smart card
reader.
The file :file:`utils.py` was taken from Henryk Plötz's cyberflex-shell_.
.. include:: download.rst
.. include:: download.txt
.. include:: autotools.rst
.. include:: autotools.txt
Depending on your usage of the |vpicc| you might or might not need
the following:
@@ -72,11 +63,11 @@ the following:
The |vpcd| depends on PCSC-Lite_.
================================================================================
Running the @PACKAGE_NAME@
================================================================================
******************************
Running the Virtual Smart Card
******************************
First you need to make sure that :command:`pcscd` loads the |vpcd|. You might
Fitxt you need to make sure that :command:`pcscd` loads the |vpcd|. You might
need to run :command:`update-reader.conf` to update its configuration file.
Then :command:`pcscd -f -d` should say something like "Attempting startup of
Virtual PCD"
@@ -90,9 +81,10 @@ You should now be able to access the |vpicc| through the PC/SC API via
|vpcd|/:command:`pcscd`. You can use the :command:`opensc-explorer` or
:command:`pcsc_scan` for testing.
--------------------------------------------------------------------------------
Accessing the @PACKAGE_NAME@ from Windows applications
--------------------------------------------------------------------------------
==========================================================
Accessing the Virtual Smart Card from Windows applications
==========================================================
Running |vpcd| under Windows is currently not supported, because it implements
a smart card driver specific for PCSC-Lite (:command:`pcscd`). This means, that
@@ -120,4 +112,19 @@ However, there are several more or less complicated paths you can go:
PC/SC provider for a native Windows application.
.. include:: questions.rst
.. include:: questions.txt
********************
Notes and References
********************
.. target-notes::
.. _PBKDF2: https://www.dlitz.net/software/python-pbkdf2/
.. _PCSC-lite: http://pcsclite.alioth.debian.org/
.. _PIP: http://www.pythonware.com/products/pil/
.. _PyCrypto: http://pycrypto.org/
.. _Python: http://www.python.org/
.. _cyberflex-shell: https://github.com/henryk/cyberflex-shell
.. _pyscard: http://pyscard.sourceforge.net/

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,9 @@
cards Package
=============
.. toctree::
virtualsmartcard.cards.cryptoflex
virtualsmartcard.cards.ePass
virtualsmartcard.cards.nPA

View File

@@ -0,0 +1,17 @@
virtualsmartcard Package
========================
.. toctree::
virtualsmartcard.cards
virtualsmartcard.CardGenerator
virtualsmartcard.ConstantDefinitions
virtualsmartcard.CryptoUtils
virtualsmartcard.SEutils
virtualsmartcard.SWutils
virtualsmartcard.SmartcardFilesystem
virtualsmartcard.SmartcardSAM
virtualsmartcard.TLVutils
virtualsmartcard.VirtualSmartcard
virtualsmartcard.utils

View File

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

View File

@@ -1 +0,0 @@
../../doc/autotools.rst.in

View File

@@ -1,8 +1,8 @@
.. highlight:: sh
============
************
Installation
============
************
The Virtual Smart Card uses the GNU Build System to compile and install. If you are
unfamiliar with it, please have a look at :file:`INSTALL`. If you have a look

View File

@@ -0,0 +1 @@
../../doc/autotools.txt.in

View File

@@ -1 +0,0 @@
../../doc/download.rst.in

View File

@@ -1,8 +1,8 @@
.. highlight:: sh
===============================================================================
********
Download
===============================================================================
********
You can find the latest release of Virtual Smart Card `here
<http://sourceforge.net/projects/vsmartcard/files>`_.

View File

@@ -0,0 +1 @@
../../doc/download.txt.in

View File

@@ -1 +0,0 @@
../../doc/questions.rst.in

View File

@@ -1,6 +1,6 @@
========
********
Question
========
********
Do you have questions, suggestions or contributions? Feedback of any kind is
more than welcome! Please use our `project trackers <http://sourceforge.net/projects/vsmartcard/support>`_.

View File

@@ -0,0 +1 @@
../../doc/questions.txt.in