Sophie

Sophie

distrib > Fedora > 13 > x86_64 > media > updates > by-pkgid > 64d7525dee9596ae0eae9ecd4241861b > files > 100

opensc-0.11.13-6.fc13.i686.rpm

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
      PinpadReaders – OpenSC
    </title><style type="text/css">
           @import url(trac.css);
          </style></head><body><div id="content" class="wiki">
      <div class="wikipage searchable">
        
          <h1 id="PinpadReaders">Pinpad Readers</h1>
<p>
OpenSC supports two types of pinpad readers: PC/SC and CT-API. 
</p>
<p>
PC/SC functionality is based on <a class="ext-link" href="http://www.pcscworkgroup.com/specifications/files/pcsc10_v2.02.05.pdf" shape="rect"><span class="icon"> </span>PC/SC v2 part 10 v2.02.05</a> and is supported by drivers on Windows (check your hardware manufacturer for latest drivers), Linux and Mac OS X Leopard with the <a class="ext-link" href="http://pcsclite.alioth.debian.org/ccid.html" shape="rect"><span class="icon"> </span>open source CCID driver</a> (<a class="ext-link" href="http://www.usb.org/developers/devclass_docs/DWG_Smart-Card_CCID_Rev110.pdf" shape="rect"><span class="icon"> </span>CCID spec</a>). Make sure that you have the latest released versions (or SVN snapshots) of all relevant software: operating system, pcsc-lite, reader driver, reader firmware. 
</p>
<p>
CT-API drivers are most used and available on Windows.
</p>
<p>
Pinpads tend to be buggy and not all combinations of cards and readers and PIN formats or pinpad reader features (such as displays) have been tested so far, so make sure you report issues to the <a class="wiki" href="MailingLists.html" shape="rect">MailingLists</a> (opensc-devel)
</p>
<h2 id="KnownandtestedpinpadreaderswithCT-APIdriversonWindows">Known and tested pinpad readers with  <a class="wiki" href="CardReaders/CTAPI.html" shape="rect">CT-API</a> drivers on Windows</h2>
<p>
Please feel free to add your hardware and experiences here.
</p>
<p>
Class 2 readers have a pinpad for secure pin entry. Sometimes they are plugged between computer and keyboard so they use the keyboard for pin entry but capture the keystrokes before they reach the computer.
</p>
<p>
Class 3 readers have pinpad and a display. 
</p>
<table class="wiki">
<tr><td rowspan="1" colspan="1"> <strong>Reader</strong> </td><td rowspan="1" colspan="1"> <strong>OS</strong> </td><td rowspan="1" colspan="1"> <strong>Type</strong> </td><td rowspan="1" colspan="1"> <strong>CT-API library</strong> </td><td rowspan="1" colspan="1"> <strong>Comments </strong> 
</td></tr><tr><td rowspan="1" colspan="1"> SCM STR 391 "<a class="missing wiki" shape="rect">CashMouse?</a>" </td><td rowspan="1" colspan="1"> Win32 </td><td rowspan="1" colspan="1"> Class 3 USB </td><td rowspan="1" colspan="1"> CTRSRW32.dll </td><td rowspan="1" colspan="1"> Works fine with Win32, no Unix support planned 
</td></tr><tr><td rowspan="1" colspan="1"> Cherry G83-6700 Smartboard </td><td rowspan="1" colspan="1"> Win32 </td><td rowspan="1" colspan="1"> Class 2 PS/2 </td><td rowspan="1" colspan="1"> CTMGR.DLL </td><td rowspan="1" colspan="1"> A keyboard integrated reader which uses the keyboard for pin entry. Buggy CT-API driver, I got it working but not without patching OpenCT. No known Unix support 
</td></tr><tr><td rowspan="1" colspan="1"> Reiner SCT cyberJack pinpad </td><td rowspan="1" colspan="1"> Win32 </td><td rowspan="1" colspan="1"> Class 2 USB </td><td rowspan="1" colspan="1"> CTRSCT32.DLL </td><td rowspan="1" colspan="1"> According to the manufacturer's website it should also run on Linux, but I haven't managed it. 
</td></tr><tr><td rowspan="1" colspan="1"> Reiner SCT cyberJack keyboard </td><td rowspan="1" colspan="1"> Win32 </td><td rowspan="1" colspan="1"> Class 2 PS/2 </td><td rowspan="1" colspan="1"> CTRSCT32.DLL </td><td rowspan="1" colspan="1"> A cheap class 2 solution. It uses the keyboard for pin entry. No known Unix support. 
</td></tr><tr><td rowspan="1" colspan="1"> SCM SPR 332, 532 "Chipdrive Pinpad" </td><td rowspan="1" colspan="1"> Win32 &amp; Linux </td><td rowspan="1" colspan="1"> Class 2 USB </td><td rowspan="1" colspan="1"> CTPCSC32.dll </td><td rowspan="1" colspan="1"> A widely used CCID compliant reader. I also got it working on Linux following Martin's <a class="missing wiki" shape="rect">CardReaders?</a>/SPR532 suggestions 
</td></tr><tr><td rowspan="1" colspan="1"> Xiring XiPass </td><td rowspan="1" colspan="1"> Win32 </td><td rowspan="1" colspan="1"> Class 3 PS/2 </td><td rowspan="1" colspan="1"> PC/SC only </td><td rowspan="1" colspan="1"> Works well with Win32, pinpad entry works with EstEID CSP, no official Unix support, still there is an openct driver for it. 
</td></tr><tr><td rowspan="1" colspan="1"> Reiner SCT cyberjack pinpad</td><td rowspan="1" colspan="1"> Mac OS X</td><td rowspan="1" colspan="1">Class 2 USB</td><td rowspan="1" colspan="1">with pcscd</td><td rowspan="1" colspan="1">If you start the pcscd per hand it works well with the Drivers provided by Reiner SCT. I haven't managed to entry the pin with the Reader's keyboard
</td></tr><tr><td rowspan="1" colspan="1"> <a class="ext-link" href="http://www.reiner-sct.com/content/view/4/16/" shape="rect"><span class="icon"> </span>Reiner SCT cyberJack pinpad</a></td><td rowspan="1" colspan="1"> Linux</td><td rowspan="1" colspan="1">Class 2 USB</td><td rowspan="1" colspan="1"> Reiner SCT CT-API driver</td><td rowspan="1" colspan="1">Class 2 Smartcard reader with <a class="ext-link" href="http://www.reiner-sct.com/content/view/32/43/#linux" shape="rect"><span class="icon"> </span>official LGPL drivers</a> (packages for most linux distributions). Pinpad fully supported (tested on SuSE 10.2). Good Linux support!
</td></tr></table>
<p>
Kobil and OmniKey also offer pinpad readers, if someone could test one of those with OpenSC feedback would be appreceated. 
</p>
<h2 id="TestingPinpad">Testing Pinpad</h2>
<p>
In opensc source you will find src/tests/pintest tool. It allows you to test if your card+reader combination
support pinpad. 
</p>
<p>
Before testing pinpad, you may need to erase and initialise pin. Make sure you understand what you are doing, as these commands will erase your smart card:
</p>
<pre class="wiki" xml:space="preserve">pkcs15-init -E
pkcs15-init --create-pkcs15 --profile pkcs15+onepin \
            --use-default-transport-key --pin 0000 --puk 111111 \
            --label "Test"

</pre><p>
Then run the pin test:
</p>
<pre class="wiki" xml:space="preserve">cd opensc/src/tests;
./pintest
</pre><p>
The following messages are displayed:
</p>
<pre class="wiki" xml:space="preserve">Using libopensc version 0.12.0-svn.
Card detected in reader 'Feitian SCR301 00 00'
Connecting... connected.
ATR = 3b:9f:95:81:31:fe:9f:00:65:46:53:05:30:06:71:df:00:00:00:81:61:10:c6
Looking for a PKCS#15 compatible Smart Card... found.
Enumerating PIN codes...
PIN [User PIN]
	Com. Flags  : private, modifiable
	Auth ID     : 01
	Flags       : [0x30], initialized, needs-padding
	Length      : min_len:4, max_len:16, stored_len:16
	Pad char    : 0x00
	Reference   : 1
	Encoding    : ASCII-numeric
	Path        : 3f005015
Please enter PIN code [User PIN]: 
</pre><p>
Enter pin code. You should read:
</p>
<pre class="wiki" xml:space="preserve">PIN code correct.
</pre><p>
When using a smart card reader with pinpad, you may need to hit return on the computer keyboard and then enter pin on the pinpad reader.
</p>

        
        
      </div>
    </div><div class="footer"><hr></hr><p><a href="index.html">Back to Index</a></p></div></body></html>