Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > b180f35ae92be277db92f66ffc4f4a50 > files > 29

openct-0.6.20-2.fc15.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>
      OverView – OpenCT
    </title><style type="text/css">
           @import url(trac.css);
          </style></head><body><div id="content" class="wiki">
      <div class="wikipage searchable">
        
          <h1 id="Overview">Overview</h1>
<p>
This is the easiest scenario and it is recommended:
</p>
<pre class="wiki" xml:space="preserve">+----------------------------------------+
|        Application, e.g. mozilla       |
+------------------pkcs11----------------+
|       PKCS11 library, e.g. OpenSC      |
+----------------------------------------+
|                 OpenCT                 |
+----------------------------------------+
|               Linux Kernel             |
+----------------------------------------+
</pre><p>
Mozilla can load security modules implementing PKCS11,
OpenSC does that, and OpenSC has a direct interface to
use OpenCT. 
</p>
<p>
But sometimes you have this stacking:
</p>
<pre class="wiki" xml:space="preserve">+----------------------------------------+
|               Application              |
+-----------------PC/SC------------------+
|               PC-SC/Lite               |
+---------------ifdhandler---------------+
|                 Driver                 |
+----------------------------------------+
|                 Kernel                 |
+----------------------------------------+
</pre><p>
PC/SC (also called winscard) is a standard API popular on windows, so many applications want to use it to talk
to smart cards. PC/SC-Lite is a free software for Linux, Mac OS X and BSD and implements
this standard. It needs drivers in ifdhandler format so Vendors usualy ship drivers for in this format. Some vendors ship drivers
that require kernel modules or kernel modifications, others have a generic driver that
works with any kernel.
</p>
<p>
OpenCT has a driver in ifdhandler format, so you can use it in that place.
But the direct mode combining for example OpenSC and OpenCT is prefered and
a lot better tested.
</p>
<p>
Also there is a third model:
</p>
<pre class="wiki" xml:space="preserve">+----------------------------------------+
|               Application              |
+-----------------CT/API-----------------+
|                 Driver                 |
+----------------------------------------+
</pre><p>
This model is very, very simple, and was designed for DOS. It works well
if you have only one application and one user. It is outdated. Still some
applications want drivers in CT-API format and some vendors ship drivers
in this format. OpenCT includes a CT-API driver, but it is not well tested,
and not recommended for multi application or multi user environments.
</p>
<h1 id="Whythreefaces">Why three faces?</h1>
<p>
OpenCT implements three difference ways how an application can use it,
for a maximum of compatibility. The prefered way for an application is
to use libopenct which implements the direct OpenCT mode. This mode works
without the big PC/SC-Lite middleware, its code is a lot smaller, and still
it offers the same features. Because it is smaller, we can debug it easier
and fix problems faster. Also we use it everyday, so it is well tested.
</p>

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