diff --git a/virtualsmartcard/doc/Info.plist b/virtualsmartcard/doc/Info.plist
new file mode 100644
index 0000000..8881c2c
--- /dev/null
+++ b/virtualsmartcard/doc/Info.plist
@@ -0,0 +1,50 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+ CFBundleExecutable
+ libifdvpcd.dylib
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ ifd-vpcd
+ CFBundlePackageType
+ BNDL
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 0.8
+
+ ifdManufacturerString
+ Virtual Smart Card Architecture
+ ifdProductString
+ Virtual PCD
+
+ ifdCapabilities
+ 0x00000000
+ ifdProtocolSupport
+ 0x00000001
+ ifdVersionNumber
+ 0x00000001
+
+ ifdVendorID
+
+ 0x18d1
+
+
+ ifdProductID
+
+ 0x4ee1
+
+
+ ifdFriendlyName
+
+ /dev/null:0x8C7B
+
+
+ Copyright
+ This driver is protected by terms of the GNU General Public License version 3, or (at your option) any later version.
+
+
diff --git a/virtualsmartcard/doc/README.txt.in b/virtualsmartcard/doc/README.txt.in
index 87200a0..cf59f20 100644
--- a/virtualsmartcard/doc/README.txt.in
+++ b/virtualsmartcard/doc/README.txt.in
@@ -32,7 +32,8 @@
Currently the @PACKAGE_NAME@ 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|)
+- German electronic identity card (nPA) with complete support for |EAC|
+ (|PACE|, |TA|, |CA|)
- Electronic passport (ePass/MRTD) with support for |BAC|
- Cryptoflex smart card (incomplete)
@@ -100,8 +101,8 @@ On Android, where a traditional PC/SC framework is not available, you can use
our framework to make your real contact-less smart accessible through PKCS#11.
For example, an email signing application can use the PKCS#11 interface of
OpenSC, which is linked against our PC/SC implementation. Then an Android App
-(e.g. :ref:`remote-reader`) can connect as |vpicc| delegating all requests
-and responses via NFC to a contact-less smart card that signs the mail.
+(e.g. :ref:`remote-reader`) can connect as |vpicc| delegating all requests and
+responses via NFC to a contact-less smart card that signs the mail.
Depending on your usage of the |vpicc| you may need to install the following:
@@ -122,6 +123,23 @@ Depending on your usage of the |vpicc| you may need to install the following:
.. include:: autotools.txt
+================================================================================
+Building and installing |vpcd| on Mac OS X
+================================================================================
+
+Mac OS X 10.9 and earlier is using PCSC-Lite as smart card service which allows
+using the standard routine for `installation on Unix`.
+
+Mac OS X 10.10 (and later) ships with a proprietary implementation of the PC/SC
+layer instead of with PCSC-Lite. As far as we know, this means that smart card
+readers must be USB devices instead of directly allowing a more generic type of
+reader. To make |vpcd| work we simply configure it to pretend being a USB smart
+card reader with an :file:`Ìnfo.plist`::
+
+ ./configure --prefix=/ --enable-infoplist
+ make
+ make install
+
================================================================================
Building and installing |vpcd| on Windows
================================================================================
@@ -185,6 +203,8 @@ The protocol between |vpcd| and |vpicc| as well as details on extending |vpicc|
with a different card emulator are covered in :ref:`virtualsmartcard-api`. Here
we will focus on configuring and running the provided modules.
+.. _vicc_config:
+
================================================================================
Configuring |vpcd| on Unix
================================================================================
@@ -207,6 +227,40 @@ If the first part of the ``DEVICENAME`` is different from ``/dev/null``, |vpcd|
will use this string as a hostname for connecting to a waiting |vpicc|. |vpicc|
needs to be started with :option:`--reversed` in this case.
+================================================================================
+Configuring |vpcd| on Mac OS X
+================================================================================
+
+Mac OS X 10.9 and earlier is using PCSC-Lite as smart card service which allows
+using the standard routine for `configuration on Unix`.
+
+On Mac OS X 10.10 you should have configured the generation of
+:file:`Info.plist` at compile time. Now do the following for registering |vpcd|
+as USB device:
+
+1. Choose an USB device (e.g. mass storage, phone, mouse, ...), which will be
+ used to start |vpcd|. Plug it into the computer.
+
+2. Run the following command to get the device's product and vendor ID::
+
+ system_profiler SPUSBDataType
+
+3. Change :file:`/usr/libexec/SmartCardServices/drivers/ifd-vpcd.bundle/Info.plist`
+ to match your product and vendor ID:
+
+.. literalinclude:: Info.plist
+ :emphasize-lines: 34,39
+
+ Note that ``ifdFriendlyName`` can be used in the same way as ``DEVICENAME``
+ `described above`.
+
+4. Restart the PC/SC service::
+
+ sudo killall -SIGKILL -m .*com.apple.ifdreader
+
+Now, every time you plug in your USB device |vpcd| will be started. It will be
+stopped when you unplug the device.
+
================================================================================
Configuring |vpcd| on Windows
================================================================================