Readme.txt.in added hints for vpcd on Windows
some details how to get build vpcd on Windows 64 bit
This commit is contained in:
@@ -135,13 +135,38 @@ For the Windows integration we extended `Fabio Ottavi's UMDF Driver for a
|
|||||||
Virtual Smart Card Reader`_ with a |vpcd| interface. To build the |vpcd| we use
|
Virtual Smart Card Reader`_ with a |vpcd| interface. To build the |vpcd| we use
|
||||||
`Windows Driver Kit 8.1 and Visual Studio 2013`_:
|
`Windows Driver Kit 8.1 and Visual Studio 2013`_:
|
||||||
|
|
||||||
|
Hint 1:
|
||||||
|
With VS2013 and WDK 8.1 no WinXP driver can be build.
|
||||||
|
To do this for WinXP, an older VS with WDK 7.1.0 is required.
|
||||||
|
|
||||||
|
Hint 2:
|
||||||
|
That UMDF Driver for a Virtual Smart Card Reader is written as Win 32 bit code.
|
||||||
|
The Win7 source can be compiled as Win7 64 Bit, but C/C++ builder option needs to be changed!
|
||||||
|
For that go to project properties of "BixVReader" (not for "BixVReader-package"), move to C/C++ settings
|
||||||
|
and switch off the option "/WX (Treat Linker Warnings as Errors)".
|
||||||
|
Otherwise some warnings gets escalated to errors and build will fail on 64 bit.
|
||||||
|
|
||||||
|
Hint 3:
|
||||||
|
In configuration manager ensure, that both projects are set to same platform = x64 or Win32, no mix with the other !!!
|
||||||
|
Any mix will result into device manager error code 31 for that driver
|
||||||
|
and this error code is NOT related to wrong or missing code signing as given standard answer in internet.
|
||||||
|
|
||||||
|
Hint 4:
|
||||||
|
The Win7 (64 Bit) build does not need to be signed, during installation Windows will prompt a warning, just allow its installation.
|
||||||
|
In case WDK test signing should be used, simply use VS build-in Driver Signing settings. Context menu for "BixVReader-package" -> properties -> Driver Signing -> Sign Mode = "Test Sign".
|
||||||
|
Import the WDKTestCert into your windows keystore.
|
||||||
|
Please read Microsoft "Kernel-Mode Code Signing Walkthrough". It is a very good document for better understanding.
|
||||||
|
|
||||||
1. In Visual Studio select :menuselection:`File --> Open --> Convert
|
1. In Visual Studio select :menuselection:`File --> Open --> Convert
|
||||||
Sources/Dirs...` and choose the vpcd's :file:`sources` either in the
|
Sources/Dirs...` and choose the vpcd's :file:`sources` either in the
|
||||||
:file:`WinXP` or :file:`Win7` folder.
|
:file:`WinXP` or :file:`Win7` folder.
|
||||||
|
|
||||||
|
|
||||||
2. If you can successfully :guilabel:`Build the solution`, you can find the
|
2. If you can successfully :guilabel:`Build the solution`, you can find the
|
||||||
install package in :file:`BixVReader-package`. It contains `BixVReader.inf`
|
install package in :file:`BixVReader-package`. It contains `BixVReader.inf`
|
||||||
and the required libraries, especially `BixVReader.dll`.
|
and the required libraries, especially `BixVReader.dll`.
|
||||||
|
For 32 bit driver the WudfUpdate_01009.dll will be 1795 KB
|
||||||
|
For 64 bit driver the WudfUpdate_01009.dll will be 2102 KB.
|
||||||
|
|
||||||
3. Copy :file:`win32\\BixVReader\\BixVReader.ini` into the :envvar:`%SystemRoot%`
|
3. Copy :file:`win32\\BixVReader\\BixVReader.ini` into the :envvar:`%SystemRoot%`
|
||||||
directory.
|
directory.
|
||||||
@@ -149,7 +174,10 @@ Virtual Smart Card Reader`_ with a |vpcd| interface. To build the |vpcd| we use
|
|||||||
4. In a console with administrator rights go to :file:`BixVReader-package` and
|
4. In a console with administrator rights go to :file:`BixVReader-package` and
|
||||||
execute::
|
execute::
|
||||||
|
|
||||||
|
on 32 bit system with 32 bit driver:
|
||||||
"C:\Program Files\Windows Kits\8.1\Tools\x86\devcon.exe" install BixVReader.inf root\BixVirtualReader
|
"C:\Program Files\Windows Kits\8.1\Tools\x86\devcon.exe" install BixVReader.inf root\BixVirtualReader
|
||||||
|
on 64 bit system with 64 bit driver:
|
||||||
|
"C:\Program Files\Windows Kits\8.1\Tools\x64\devcon.exe" install BixVReader.inf root\BixVirtualReader
|
||||||
|
|
||||||
You can adjust the path to ``devcon.exe`` with your version of the WDK and
|
You can adjust the path to ``devcon.exe`` with your version of the WDK and
|
||||||
your target architecture.
|
your target architecture.
|
||||||
@@ -193,10 +221,9 @@ needs to be started with :option:`--reversed` in this case.
|
|||||||
Configuring |vpcd| on Windows
|
Configuring |vpcd| on Windows
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
The configuration file from |vpcd| is usually placed into
|
The configuration file `BixVReader.ini` from |vpcd| is usually placed into
|
||||||
:file:`C:\\Windows`. The PC/SC daemon should read it and load the
|
:file:`C:\\Windows` (:envvar:`%SystemRoot%`). The PC/SC daemon should read it and load the
|
||||||
|vpcd| on startup. The Windows Device Manager should list the :guilabel:`Bix
|
|vpcd| on startup. The Windows Device Manager should list the :guilabel:`Bix Virtual Smart Card Reader`.
|
||||||
Virtual Smart Card Reader`.
|
|
||||||
|
|
||||||
|vpcd| opens a socket for |vpicc| and waits for incoming
|
|vpcd| opens a socket for |vpicc| and waits for incoming
|
||||||
connections. The port to open should be specified in ``TCP_PORT``:
|
connections. The port to open should be specified in ``TCP_PORT``:
|
||||||
@@ -219,6 +246,9 @@ options of |vpicc|.
|
|||||||
On Windows you can start |vpicc| with :command:`python.exe src/vpicc/vicc.in`
|
On Windows you can start |vpicc| with :command:`python.exe src/vpicc/vicc.in`
|
||||||
or :command:`python.exe vicc`.
|
or :command:`python.exe vicc`.
|
||||||
|
|
||||||
|
Notice! actually on Windows |vpicc| can not run in mode `-t nPA` due to some missing python binding, refer to |openPACE|.
|
||||||
|
|
||||||
|
|
||||||
When |vpcd| and |vpicc| are connected you should be able to access the card
|
When |vpcd| and |vpicc| are connected you should be able to access the card
|
||||||
through the PC/SC API. You can use the :command:`opensc-explorer` or
|
through the PC/SC API. You can use the :command:`opensc-explorer` or
|
||||||
:command:`pcsc_scan` for testing. In @PACKAGE_NAME@'s root directory we also
|
:command:`pcsc_scan` for testing. In @PACKAGE_NAME@'s root directory we also
|
||||||
|
|||||||
Reference in New Issue
Block a user