438 lines
22 KiB
HTML
438 lines
22 KiB
HTML
<!DOCTYPE html>
|
||
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>SmartcardSAM Module — vsmartcard 2023-09-30 documentation</title>
|
||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||
<link rel="stylesheet" href="../../_static/bootstrap-sphinx.css" type="text/css" />
|
||
<link rel="stylesheet" type="text/css" href="../../_static/graphviz.css" />
|
||
<script id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
||
<script src="../../_static/jquery.js"></script>
|
||
<script src="../../_static/underscore.js"></script>
|
||
<script src="../../_static/doctools.js"></script>
|
||
<link rel="shortcut icon" href="../../_static/chip.ico"/>
|
||
<link rel="search" title="Search" href="../../search.html" />
|
||
<meta charset='utf-8'>
|
||
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
||
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||
<script type="text/javascript" src="../../_static/js/jquery-1.11.0.min.js "></script>
|
||
<script type="text/javascript" src="../../_static/js/jquery-fix.js "></script>
|
||
<script type="text/javascript" src="../../_static/bootstrap-3.3.7/js/bootstrap.min.js "></script>
|
||
<script type="text/javascript" src="../../_static/bootstrap-sphinx.js "></script>
|
||
|
||
</head><body>
|
||
|
||
<a href="https://github.com/frankmorgner/vsmartcard"
|
||
class="visible-desktop hidden-xs"><img
|
||
id="gh-banner"
|
||
style="position: absolute; top: 50px; right: 0; border: 0;"
|
||
src="https://s3.amazonaws.com/github/ribbons/forkme_right_white_ffffff.png"
|
||
alt="Fork me on GitHub"></a>
|
||
<script>
|
||
// Adjust banner height.
|
||
$(function () {
|
||
var navHeight = $(".navbar .container").css("height");
|
||
$("#gh-banner").css("top", navHeight);
|
||
});
|
||
</script>
|
||
|
||
|
||
<div id="navbar" class="navbar navbar-default ">
|
||
<div class="container">
|
||
<div class="navbar-header">
|
||
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
|
||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
|
||
<span class="icon-bar"></span>
|
||
<span class="icon-bar"></span>
|
||
<span class="icon-bar"></span>
|
||
</button>
|
||
<a class="navbar-brand" href="../../index.html">
|
||
vsmartcard</a>
|
||
<span class="navbar-text navbar-version pull-left"><b></b></span>
|
||
</div>
|
||
|
||
<div class="collapse navbar-collapse nav-collapse">
|
||
<ul class="nav navbar-nav">
|
||
|
||
|
||
<li class="dropdown globaltoc-container">
|
||
<a role="button"
|
||
id="dLabelGlobalToc"
|
||
data-toggle="dropdown"
|
||
data-target="#"
|
||
href="../../index.html">Site <b class="caret"></b></a>
|
||
<ul class="dropdown-menu globaltoc"
|
||
role="menu"
|
||
aria-labelledby="dLabelGlobalToc"><ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../README.html">Virtual Smart Card</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../remote-reader/README.html">Remote Smart Card Reader</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../ACardEmulator/README.html">Android Smart Card Emulator</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../TCardEmulator/README.html">Tizen Smart Card Emulator</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../pcsc-relay/README.html">PC/SC Relay</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../ccid/README.html">USB CCID Emulator</a></li>
|
||
</ul>
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../api.html">Creating a Virtual Smart Card</a></li>
|
||
</ul>
|
||
</ul>
|
||
</li>
|
||
|
||
<li class="dropdown">
|
||
<a role="button"
|
||
id="dLabelLocalToc"
|
||
data-toggle="dropdown"
|
||
data-target="#"
|
||
href="#">Page <b class="caret"></b></a>
|
||
<ul class="dropdown-menu localtoc"
|
||
role="menu"
|
||
aria-labelledby="dLabelLocalToc"><ul>
|
||
<li><a class="reference internal" href="#">SmartcardSAM Module</a></li>
|
||
</ul>
|
||
</ul>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="hidden-sm"></li>
|
||
|
||
</ul>
|
||
|
||
|
||
|
||
<form class="navbar-form navbar-right" action="../../search.html" method="get">
|
||
<div class="form-group">
|
||
<input type="text" name="q" class="form-control" placeholder="Search" />
|
||
</div>
|
||
<input type="hidden" name="check_keywords" value="yes" />
|
||
<input type="hidden" name="area" value="default" />
|
||
</form>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="container">
|
||
<div class="row">
|
||
<div class="body col-md-12 content" role="main">
|
||
|
||
<div class="section" id="smartcardsam-module">
|
||
<h1>SmartcardSAM Module<a class="headerlink" href="#smartcardsam-module" title="Permalink to this headline">¶</a></h1>
|
||
<div class="graphviz"><img src="../../_images/inheritance-f008352fda418a6e639df3493492ecf2a1976c1b.png" alt="Inheritance diagram of virtualsmartcard.SmartcardSAM" usemap="#inheritance8b3e5dd7ee" class="inheritance graphviz" /></div>
|
||
<map id="inheritance8b3e5dd7ee" name="inheritance8b3e5dd7ee">
|
||
<area shape="rect" id="node1" href="#virtualsmartcard.SmartcardSAM.SAM" target="_top" title="This class is used to store the data needed by the SAM." alt="" coords="5,5,271,31"/>
|
||
</map><span class="target" id="module-virtualsmartcard.SmartcardSAM"></span><dl class="py class">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM">
|
||
<em class="property"><span class="pre">class</span> </em><code class="sig-prename descclassname"><span class="pre">virtualsmartcard.SmartcardSAM.</span></code><code class="sig-name descname"><span class="pre">SAM</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="pre">PIN</span></em>, <em class="sig-param"><span class="pre">cardNumber</span></em>, <em class="sig-param"><span class="pre">mf=None</span></em>, <em class="sig-param"><span class="pre">cardSecret=None</span></em>, <em class="sig-param"><span class="pre">default_se=<class</span> <span class="pre">'virtualsmartcard.SEutils.Security_Environment'></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>This class is used to store the data needed by the SAM.
|
||
It includes the PIN, the master key of the SAM and a hashmap containing all
|
||
the keys used by the file encryption system. The keys in the hashmap are
|
||
indexed via the path to the corresponding container.</p>
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.FSdecrypt">
|
||
<code class="sig-name descname"><span class="pre">FSdecrypt</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.FSdecrypt" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Decrypt the given data, using the parameters stored in the SAM.
|
||
Right now we do not encrypt the data. In memory encryption might or
|
||
might not be added in a future version.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.FSencrypt">
|
||
<code class="sig-name descname"><span class="pre">FSencrypt</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.FSencrypt" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Encrypt the given data, using the parameters stored in the SAM.
|
||
Right now we do not encrypt the data. In memory encryption might or
|
||
might not be added in a future version.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM._get_referenced_key">
|
||
<code class="sig-name descname"><span class="pre">_get_referenced_key</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p2</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM._get_referenced_key" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This method returns the key specified by the p2 parameter. The key may
|
||
be stored on the cards filesystem.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>p1</strong> – Specifies the algorithm to use.</p></li>
|
||
<li><p><strong>p2</strong> – <p>Specifies a reference to the key to be used for encryption.</p>
|
||
<table class="docutils align-default">
|
||
<colgroup>
|
||
<col style="width: 3%" />
|
||
<col style="width: 3%" />
|
||
<col style="width: 3%" />
|
||
<col style="width: 3%" />
|
||
<col style="width: 3%" />
|
||
<col style="width: 3%" />
|
||
<col style="width: 3%" />
|
||
<col style="width: 3%" />
|
||
<col style="width: 73%" />
|
||
</colgroup>
|
||
<thead>
|
||
<tr class="row-odd"><th class="head"><p>b8</p></th>
|
||
<th class="head"><p>b7</p></th>
|
||
<th class="head"><p>b6</p></th>
|
||
<th class="head"><p>b5</p></th>
|
||
<th class="head"><p>b4</p></th>
|
||
<th class="head"><p>b3</p></th>
|
||
<th class="head"><p>b2</p></th>
|
||
<th class="head"><p>b1</p></th>
|
||
<th class="head"><p>Meaning</p></th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="row-even"><td><p>0</p></td>
|
||
<td><p>0</p></td>
|
||
<td><p>0</p></td>
|
||
<td><p>0</p></td>
|
||
<td><p>0</p></td>
|
||
<td><p>0</p></td>
|
||
<td><p>0</p></td>
|
||
<td><p>0</p></td>
|
||
<td><p>No information is given</p></td>
|
||
</tr>
|
||
<tr class="row-odd"><td><p>0</p></td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><p>Global reference data(e.g. MF specific key)</p></td>
|
||
</tr>
|
||
<tr class="row-even"><td><p>1</p></td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><p>Specific reference data(e.g. DF specific
|
||
key)</p></td>
|
||
</tr>
|
||
<tr class="row-odd"><td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><ul>
|
||
<li></li>
|
||
</ul>
|
||
</td>
|
||
<td><p>x</p></td>
|
||
<td><p>x</p></td>
|
||
<td><p>x</p></td>
|
||
<td><p>x</p></td>
|
||
<td><p>x</p></td>
|
||
<td><p>Number of the secret</p></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>Any other value RFU</p>
|
||
</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.change_reference_data">
|
||
<code class="sig-name descname"><span class="pre">change_reference_data</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.change_reference_data" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Change the specified referenced data (e.g. CHV) of the card</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.erase_SE">
|
||
<code class="sig-name descname"><span class="pre">erase_SE</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">SEID</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.erase_SE" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Erases a Security Environment stored under SEID from the SAM</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.external_authenticate">
|
||
<code class="sig-name descname"><span class="pre">external_authenticate</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.external_authenticate" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Authenticate the terminal to the card. Check whether Terminal correctly
|
||
encrypted the given challenge or not</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.generate_public_key_pair">
|
||
<code class="sig-name descname"><span class="pre">generate_public_key_pair</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.generate_public_key_pair" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.get_card_number">
|
||
<code class="sig-name descname"><span class="pre">get_card_number</span></code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.get_card_number" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.get_challenge">
|
||
<code class="sig-name descname"><span class="pre">get_challenge</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.get_challenge" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Generate a random number of maximum 8 Byte and return it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.internal_authenticate">
|
||
<code class="sig-name descname"><span class="pre">internal_authenticate</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.internal_authenticate" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Authenticate card to terminal. Encrypt the challenge of the terminal
|
||
to prove key posession</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.manage_security_environment">
|
||
<code class="sig-name descname"><span class="pre">manage_security_environment</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.manage_security_environment" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.mutual_authenticate">
|
||
<code class="sig-name descname"><span class="pre">mutual_authenticate</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mutual_challenge</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.mutual_authenticate" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Takes an encrypted challenge in the form
|
||
‘Terminal Challenge | Card Challenge | Card number’
|
||
and checks it for validity. If the challenge is successful
|
||
the card encrypts ‘Card Challenge | Terminal challenge’ and
|
||
returns this value</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.parse_SM_CAPDU">
|
||
<code class="sig-name descname"><span class="pre">parse_SM_CAPDU</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">CAPDU</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">header_authentication</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.parse_SM_CAPDU" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Parse a command APDU protected by Secure Messaging and return the
|
||
unprotected command APDU</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.perform_security_operation">
|
||
<code class="sig-name descname"><span class="pre">perform_security_operation</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.perform_security_operation" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.protect_result">
|
||
<code class="sig-name descname"><span class="pre">protect_result</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sw</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">unprotected_result</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.protect_result" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Protect a plain response APDU by Secure Messaging</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.restore_SE">
|
||
<code class="sig-name descname"><span class="pre">restore_SE</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">SEID</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.restore_SE" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Restores a Security Environment from the SAM and replaces the current
|
||
SE with it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.set_MF">
|
||
<code class="sig-name descname"><span class="pre">set_MF</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mf</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.set_MF" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Setter function for the internal reference to the Filesystem. The SAM
|
||
needs a reference to the filesystem in order to store/retrieve keys.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.set_asym_algorithm">
|
||
<code class="sig-name descname"><span class="pre">set_asym_algorithm</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cipher</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keytype</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.set_asym_algorithm" title="Permalink to this definition">¶</a></dt>
|
||
<dd><dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>cipher</strong> – Public/private key object from used for encryption</p></li>
|
||
<li><p><strong>keytype</strong> – Type of the public key (e.g. RSA, DSA)</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.store_SE">
|
||
<code class="sig-name descname"><span class="pre">store_SE</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">SEID</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.store_SE" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Stores the current Security environment in the secure access module.
|
||
The SEID is used as a reference to identify the SE.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="virtualsmartcard.SmartcardSAM.SAM.verify">
|
||
<code class="sig-name descname"><span class="pre">verify</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">PIN</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.SAM.verify" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Authenticate the card user. Check if he entered a valid PIN.
|
||
If the PIN is invalid decrement retry counter. If retry counter
|
||
equals zero, block the card until reset with correct PUK</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py function">
|
||
<dt id="virtualsmartcard.SmartcardSAM.get_referenced_cipher">
|
||
<code class="sig-prename descclassname"><span class="pre">virtualsmartcard.SmartcardSAM.</span></code><code class="sig-name descname"><span class="pre">get_referenced_cipher</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.SmartcardSAM.get_referenced_cipher" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>P1 defines the algorithm and mode to use. We dispatch it and return a
|
||
string that is understood by CryptoUtils.py functions</p>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
<footer class="footer">
|
||
<div class="container">
|
||
<p class="pull-right">
|
||
<a href="#">Back to top</a>
|
||
|
||
</p>
|
||
<p>
|
||
© Copyright 2009-2023 by Dominik Oepen and Frank Morgner.<br/>
|
||
</p>
|
||
</div>
|
||
</footer>
|
||
</body>
|
||
</html> |