Merge branch 'psytester-patch-1'
This commit is contained in:
@@ -135,13 +135,39 @@ 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
|
||||
`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.
|
||||
Since Win8 it is mandatory to sign the code
|
||||
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 certificate located in file name `BixVReader-package.cer` into your windows keystore (e.g. on local computer) and then install the driver
|
||||
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
|
||||
Sources/Dirs...` and choose the vpcd's :file:`sources` either in the
|
||||
:file:`WinXP` or :file:`Win7` folder.
|
||||
|
||||
|
||||
2. If you can successfully :guilabel:`Build the solution`, you can find the
|
||||
install package in :file:`BixVReader-package`. It contains `BixVReader.inf`
|
||||
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%`
|
||||
directory.
|
||||
@@ -149,7 +175,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
|
||||
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
|
||||
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
|
||||
your target architecture.
|
||||
@@ -193,10 +222,9 @@ needs to be started with :option:`--reversed` in this case.
|
||||
Configuring |vpcd| on Windows
|
||||
================================================================================
|
||||
|
||||
The configuration file from |vpcd| is usually placed into
|
||||
:file:`C:\\Windows`. The PC/SC daemon should read it and load the
|
||||
|vpcd| on startup. The Windows Device Manager should list the :guilabel:`Bix
|
||||
Virtual Smart Card Reader`.
|
||||
The configuration file `BixVReader.ini` from |vpcd| is usually placed into
|
||||
: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 Virtual Smart Card Reader`.
|
||||
|
||||
|vpcd| opens a socket for |vpicc| and waits for incoming
|
||||
connections. The port to open should be specified in ``TCP_PORT``:
|
||||
@@ -219,6 +247,9 @@ options of |vpicc|.
|
||||
On Windows you can start |vpicc| with :command:`python.exe src/vpicc/vicc.in`
|
||||
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
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user