1618 lines
82 KiB
HTML
1618 lines
82 KiB
HTML
<!DOCTYPE html>
|
|
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
|
|
<title>cryptoflex Module — vsmartcard 2016-10-12 documentation</title>
|
|
|
|
<link rel="stylesheet" href="../../_static/basic.css" type="text/css" />
|
|
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
|
<link rel="stylesheet" href="../../_static/bootswatch-3.3.4/flatly/bootstrap.min.css" type="text/css" />
|
|
<link rel="stylesheet" href="../../_static/bootstrap-sphinx.css" type="text/css" />
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT: '../../',
|
|
VERSION: '2016-10-12',
|
|
COLLAPSE_INDEX: false,
|
|
FILE_SUFFIX: '.html',
|
|
HAS_SOURCE: true
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="../../_static/jquery.js"></script>
|
|
<script type="text/javascript" src="../../_static/underscore.js"></script>
|
|
<script type="text/javascript" src="../../_static/doctools.js"></script>
|
|
<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.4/js/bootstrap.min.js"></script>
|
|
<script type="text/javascript" src="../../_static/bootstrap-sphinx.js"></script>
|
|
<link rel="shortcut icon" href="../../_static/chip.ico"/>
|
|
<link rel="top" title="vsmartcard 2016-10-12 documentation" href="../../index.html" />
|
|
<link rel="up" title="cards Package" href="virtualsmartcard.cards.html" />
|
|
<link rel="next" title="ePass Module" href="virtualsmartcard.cards.ePass.html" />
|
|
<link rel="prev" title="Relay Module" href="virtualsmartcard.cards.Relay.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">
|
|
|
|
</head>
|
|
<body role="document">
|
|
|
|
<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="../../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 class="current">
|
|
<li class="toctree-l1 current"><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="#">cryptoflex Module</a></li>
|
|
</ul>
|
|
</ul>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
<li>
|
|
<a href="virtualsmartcard.cards.Relay.html" title="Previous Chapter: Relay Module"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Relay Module</span>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="virtualsmartcard.cards.ePass.html" title="Next Chapter: ePass Module"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">ePass Module »</span>
|
|
</a>
|
|
</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="col-md-12 content">
|
|
|
|
<div class="section" id="cryptoflex-module">
|
|
<h1>cryptoflex Module<a class="headerlink" href="#cryptoflex-module" title="Permalink to this headline">¶</a></h1>
|
|
<p class="graphviz">
|
|
<img src="../../_images/inheritance-d42052fb29a3802f517ea5fd6564e26a29987320.png" alt="Inheritance diagram of virtualsmartcard.cards.cryptoflex" usemap="#inheritance645263d8d9" class="inheritance"/>
|
|
<map id="inheritance645263d8d9" name="inheritance645263d8d9">
|
|
<area shape="rect" id="node1" href="virtualsmartcard.SEutils.html#virtualsmartcard.SEutils.Security_Environment" title="virtualsmartcard.SEutils.Security_Environment" alt="" coords="6,80,172,93"/>
|
|
<area shape="rect" id="node11" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE" title="virtualsmartcard.cards.cryptoflex.CryptoflexSE" alt="" coords="203,80,372,93"/>
|
|
<area shape="rect" id="node2" href="virtualsmartcard.SmartcardFilesystem.html#virtualsmartcard.SmartcardFilesystem.DF" title="Class for a dedicated file" alt="" coords="212,54,363,68"/>
|
|
<area shape="rect" id="node4" href="virtualsmartcard.SmartcardFilesystem.html#virtualsmartcard.SmartcardFilesystem.MF" title="Class for a master file" alt="" coords="410,54,561,68"/>
|
|
<area shape="rect" id="node3" href="virtualsmartcard.SmartcardFilesystem.html#virtualsmartcard.SmartcardFilesystem.File" title="Template class for a smartcard file." alt="" coords="13,54,165,68"/>
|
|
<area shape="rect" id="node8" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF" title="virtualsmartcard.cards.cryptoflex.CryptoflexMF" alt="" coords="596,54,765,68"/>
|
|
<area shape="rect" id="node5" href="virtualsmartcard.SmartcardSAM.html#virtualsmartcard.SmartcardSAM.SAM" title="This class is used to store the data needed by the SAM." alt="" coords="22,29,156,42"/>
|
|
<area shape="rect" id="node10" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM" title="virtualsmartcard.cards.cryptoflex.CryptoflexSAM" alt="" coords="200,29,375,42"/>
|
|
<area shape="rect" id="node6" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.Iso7816OS" title="virtualsmartcard.VirtualSmartcard.Iso7816OS" alt="" coords="206,3,369,16"/>
|
|
<area shape="rect" id="node9" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS" title="virtualsmartcard.cards.cryptoflex.CryptoflexOS" alt="" coords="400,3,571,16"/>
|
|
<area shape="rect" id="node7" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.SmartcardOS" title="Base class for a smart card OS" alt="" coords="3,3,175,16"/>
|
|
</map>
|
|
</p>
|
|
<span class="target" id="module-virtualsmartcard.cards.cryptoflex"></span><dl class="class">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF">
|
|
<em class="property">class </em><code class="descclassname">virtualsmartcard.cards.cryptoflex.</code><code class="descname">CryptoflexMF</code><span class="sig-paren">(</span><em>filedescriptor=56</em>, <em>lifecycle=5</em>, <em>simpletlv_data=None</em>, <em>bertlv_data=None</em>, <em>dfname=None</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference internal" href="virtualsmartcard.SmartcardFilesystem.html#virtualsmartcard.SmartcardFilesystem.MF" title="virtualsmartcard.SmartcardFilesystem.MF"><code class="xref py py-class docutils literal"><span class="pre">virtualsmartcard.SmartcardFilesystem.MF</span></code></a></p>
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF._selectFile">
|
|
<code class="descname">_selectFile</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF._selectFile" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Returns the file specified by ‘p1’ and ‘data’ from the select
|
|
file command APDU.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.append">
|
|
<code class="descname">append</code><span class="sig-paren">(</span><em>file</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.append" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Appends ‘file’ to the content of the DF.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.appendRecord">
|
|
<code class="descname">appendRecord</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.appendRecord" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xe2. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.appendrecord">
|
|
<code class="descname">appendrecord</code><span class="sig-paren">(</span><em>*argz</em>, <em>**args</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.appendrecord" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Only a template, will raise an error.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.bertlv_data">
|
|
<code class="descname">bertlv_data</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.bertlv_data" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>list of (tag, length, value)-tuples of BER-TLV coded data objects (encrypted)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.content">
|
|
<code class="descname">content</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.content" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>list of files of the DF</p>
|
|
</dd></dl>
|
|
|
|
<dl class="staticmethod">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.create">
|
|
<em class="property">static </em><code class="descname">create</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.create" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.createFile">
|
|
<code class="descname">createFile</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.createFile" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xe0. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.current">
|
|
<code class="descname">current</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.current" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>the currently selected file</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.currentDF">
|
|
<code class="descname">currentDF</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.currentDF" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Returns the current DF.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.currentEF">
|
|
<code class="descname">currentEF</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.currentEF" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Returns the current EF or None if not available.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.data">
|
|
<code class="descname">data</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.data" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>unknown</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.dataObjectHandlingDecodeEncapsulated">
|
|
<code class="descname">dataObjectHandlingDecodeEncapsulated</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.dataObjectHandlingDecodeEncapsulated" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Decodes ‘p1’, ‘p2’ and ‘data’ from a data object handling command (i.
|
|
e. get/put data) with <em>odd</em> instruction code.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the specified file, True if the following list regards
|
|
SIMPLE-TLV data objects False otherwise and a list of
|
|
(tag, length, value)-tuples.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.dataObjectHandlingDecodePlain">
|
|
<code class="descname">dataObjectHandlingDecodePlain</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.dataObjectHandlingDecodePlain" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Decodes ‘p1’, ‘p2’ and ‘data’ from a data object handling command (i.
|
|
e. get/put data) with <em>even</em> instruction code.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the specified file, True if the following list regards
|
|
SIMPLE-TLV data objects False otherwise and a list of
|
|
(tag, length, value)-tuples.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.dataUnitsDecodeEncapsulated">
|
|
<code class="descname">dataUnitsDecodeEncapsulated</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.dataUnitsDecodeEncapsulated" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Decodes ‘p1’, ‘p2’ and ‘data’ from a data unit command (i. e.
|
|
read/write/update/search/erase binary) with <em>odd</em> instruction code.</p>
|
|
<dl class="docutils">
|
|
<dt>:returns the specified TransparentStructureEF, a list of offsets and a</dt>
|
|
<dd>list of data strings.</dd>
|
|
</dl>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.dataUnitsDecodePlain">
|
|
<code class="descname">dataUnitsDecodePlain</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.dataUnitsDecodePlain" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.decrypt">
|
|
<code class="descname">decrypt</code><span class="sig-paren">(</span><em>path</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.decrypt" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.deleteFile">
|
|
<code class="descname">deleteFile</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.deleteFile" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xe4. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.dfname">
|
|
<code class="descname">dfname</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.dfname" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>string with up to 16 bytes. DF name,which can also be used as applicationidentifier.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.encodeFileControlParameter">
|
|
<code class="descname">encodeFileControlParameter</code><span class="sig-paren">(</span><em>file</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.encodeFileControlParameter" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Returns a string of TLV-coded file control information of ‘file’. Note:
|
|
The result is not prepended with tag and length for neither TCP, FMD
|
|
nor FCI template.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.encrypt">
|
|
<code class="descname">encrypt</code><span class="sig-paren">(</span><em>path</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.encrypt" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.eraseBinaryEncapsulated">
|
|
<code class="descname">eraseBinaryEncapsulated</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.eraseBinaryEncapsulated" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0x0f. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.eraseBinaryPlain">
|
|
<code class="descname">eraseBinaryPlain</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.eraseBinaryPlain" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0x0e. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.eraseRecord">
|
|
<code class="descname">eraseRecord</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.eraseRecord" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0x0c. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.erasebinary">
|
|
<code class="descname">erasebinary</code><span class="sig-paren">(</span><em>*argz</em>, <em>**args</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.erasebinary" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Only a template, will raise an error.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.fid">
|
|
<code class="descname">fid</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.fid" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>file identifier</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.filedescriptor">
|
|
<code class="descname">filedescriptor</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.filedescriptor" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>file descriptor byte</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.firstSFT">
|
|
<code class="descname">firstSFT</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.firstSFT" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>string of length 1. The firstsoftware function table from thehistorical bytes.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.getDataEncapsulated">
|
|
<code class="descname">getDataEncapsulated</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.getDataEncapsulated" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xcb. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.getDataPlain">
|
|
<code class="descname">getDataPlain</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.getDataPlain" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xca. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.getdata">
|
|
<code class="descname">getdata</code><span class="sig-paren">(</span><em>isSimpleTlv</em>, <em>requestedTL</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.getdata" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Returns a string of either the file’s BER-TLV or the file’s SIMPLE-TLV
|
|
coded data objects depending on the bool ‘isSimpleTlv’. ‘requestedTL’
|
|
is a list of (tag, length)-tuples that specify which tags should be
|
|
returned in what size.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.getpath">
|
|
<code class="descname">getpath</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.getpath" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Returns the path to this file beginning with the MF’s fid.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.lifecycle">
|
|
<code class="descname">lifecycle</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.lifecycle" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>life cycle byte</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.makeFirstSoftwareFunctionTable">
|
|
<code class="descname">makeFirstSoftwareFunctionTable</code><span class="sig-paren">(</span><em>DFSelectionByFullDFName=True</em>, <em>DFSelectionByPartialDFName=True</em>, <em>DFSelectionByPath=True</em>, <em>DFSelectionByFID=True</em>, <em>DFSelectionByApplication_implicite=True</em>, <em>ShortFIDSupported=True</em>, <em>RecordNumberSupported=True</em>, <em>RecordIdentifierSupported=True</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.makeFirstSoftwareFunctionTable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Returns a byte according to the first software function table from the
|
|
historical bytes of the card capabilities.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.makeSecondSoftwareFunctionTable">
|
|
<code class="descname">makeSecondSoftwareFunctionTable</code><span class="sig-paren">(</span><em>DCB=1</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.makeSecondSoftwareFunctionTable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>The second software function table from the historical bytes contains
|
|
the data coding byte.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.parent">
|
|
<code class="descname">parent</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.parent" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>parent DF</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.putDataEncapsulated">
|
|
<code class="descname">putDataEncapsulated</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.putDataEncapsulated" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xdb. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.putDataPlain">
|
|
<code class="descname">putDataPlain</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.putDataPlain" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xda. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.putdata">
|
|
<code class="descname">putdata</code><span class="sig-paren">(</span><em>isSimpleTlv</em>, <em>newtlvlist</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.putdata" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Sets either the file’s BER-TLV or the file’s SIMPLE-TLV coded data
|
|
objects depending on the bool ‘isSimpleTlv’. ‘newtlvlist’ is a list of
|
|
(tag, length, value)-tuples of new data.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.readBinaryEncapsulated">
|
|
<code class="descname">readBinaryEncapsulated</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.readBinaryEncapsulated" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xb1. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.readBinaryPlain">
|
|
<code class="descname">readBinaryPlain</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.readBinaryPlain" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xb0. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.readRecordEncapsulated">
|
|
<code class="descname">readRecordEncapsulated</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.readRecordEncapsulated" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xb3. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.readRecordPlain">
|
|
<code class="descname">readRecordPlain</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.readRecordPlain" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xb2. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.readbinary">
|
|
<code class="descname">readbinary</code><span class="sig-paren">(</span><em>*argz</em>, <em>**args</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.readbinary" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Only a template, will raise an error.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.readrecord">
|
|
<code class="descname">readrecord</code><span class="sig-paren">(</span><em>*argz</em>, <em>**args</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.readrecord" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Only a template, will raise an error.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.recordHandlingDecode">
|
|
<code class="descname">recordHandlingDecode</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.recordHandlingDecode" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.remove">
|
|
<code class="descname">remove</code><span class="sig-paren">(</span><em>file</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.remove" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Removes ‘file’ from the content of the DF</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.searchBinaryEncapsulated">
|
|
<code class="descname">searchBinaryEncapsulated</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.searchBinaryEncapsulated" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.searchBinaryPlain">
|
|
<code class="descname">searchBinaryPlain</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.searchBinaryPlain" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.secondSFT">
|
|
<code class="descname">secondSFT</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.secondSFT" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>string of length 1. The secondsoftware function table from thehistorical bytes.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.select">
|
|
<code class="descname">select</code><span class="sig-paren">(</span><em>attribute</em>, <em>value</em>, <em>reference=0</em>, <em>index_current=0</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.select" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Returns the first file of the DF, that has the ‘attribute’ with the
|
|
specified ‘value’. For partial DF name selection you must specify the
|
|
first/last/next or previous occurence with ‘reference’ and the index of
|
|
the current file ‘index_current’ (-1 for None).</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.selectFile">
|
|
<code class="descname">selectFile</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.selectFile" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xa4. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string. Returns the status bytes as two
|
|
byte long integer and the response data as binary string.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.simpletlv_data">
|
|
<code class="descname">simpletlv_data</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.simpletlv_data" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>list of (tag, length, value)-tuples of SIMPLE-TLV coded data objects (encrypted)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.updateBinaryEncapsulated">
|
|
<code class="descname">updateBinaryEncapsulated</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.updateBinaryEncapsulated" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xd7. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.updateBinaryPlain">
|
|
<code class="descname">updateBinaryPlain</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.updateBinaryPlain" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xd6. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.updateRecordEncapsulated">
|
|
<code class="descname">updateRecordEncapsulated</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.updateRecordEncapsulated" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xdd. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.updateRecordPlain">
|
|
<code class="descname">updateRecordPlain</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.updateRecordPlain" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xdc. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.updatebinary">
|
|
<code class="descname">updatebinary</code><span class="sig-paren">(</span><em>*argz</em>, <em>**args</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.updatebinary" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Only a template, will raise an error.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.updaterecord">
|
|
<code class="descname">updaterecord</code><span class="sig-paren">(</span><em>*argz</em>, <em>**args</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.updaterecord" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Only a template, will raise an error.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.writeBinaryEncapsulated">
|
|
<code class="descname">writeBinaryEncapsulated</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.writeBinaryEncapsulated" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xd1. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string. Returns the status bytes as two
|
|
byte long integer and the response data as binary string.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.writeBinaryPlain">
|
|
<code class="descname">writeBinaryPlain</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.writeBinaryPlain" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xd0. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.writeRecord">
|
|
<code class="descname">writeRecord</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.writeRecord" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Function for instruction 0xd2. Takes the parameter bytes ‘p1’, ‘p2’ as
|
|
integers and ‘data’ as binary string.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the status bytes as two byte long integer and the response
|
|
data as binary string.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.writebinary">
|
|
<code class="descname">writebinary</code><span class="sig-paren">(</span><em>*argz</em>, <em>**args</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.writebinary" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Only a template, will raise an error.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexMF.writerecord">
|
|
<code class="descname">writerecord</code><span class="sig-paren">(</span><em>*argz</em>, <em>**args</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexMF.writerecord" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Only a template, will raise an error.</p>
|
|
</dd></dl>
|
|
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS">
|
|
<em class="property">class </em><code class="descclassname">virtualsmartcard.cards.cryptoflex.</code><code class="descname">CryptoflexOS</code><span class="sig-paren">(</span><em>mf</em>, <em>sam</em>, <em>ins2handler=None</em>, <em>maxle=256</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference internal" href="virtualsmartcard.VirtualSmartcard.html#virtualsmartcard.VirtualSmartcard.Iso7816OS" title="virtualsmartcard.VirtualSmartcard.Iso7816OS"><code class="xref py py-class docutils literal"><span class="pre">virtualsmartcard.VirtualSmartcard.Iso7816OS</span></code></a></p>
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS.SAM">
|
|
<code class="descname">SAM</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS.SAM" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>secure access module</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS.execute">
|
|
<code class="descname">execute</code><span class="sig-paren">(</span><em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS.execute" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS.formatResult">
|
|
<code class="descname">formatResult</code><span class="sig-paren">(</span><em>ins</em>, <em>le</em>, <em>data</em>, <em>sw</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS.formatResult" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS.getATR">
|
|
<code class="descname">getATR</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS.getATR" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS.getResponse">
|
|
<code class="descname">getResponse</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS.getResponse" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS.makeATR">
|
|
<code class="descname">makeATR</code><span class="sig-paren">(</span><em>**args</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS.makeATR" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Calculate Answer to Reset (ATR) and returns the bitstring.</p>
|
|
<blockquote>
|
|
<div><ul>
|
|
<li><dl class="first docutils">
|
|
<dt>directConvention (bool): Whether to use direct convention or</dt>
|
|
<dd><p class="first last">inverse convention.</p>
|
|
</dd>
|
|
</dl>
|
|
</li>
|
|
<li><dl class="first docutils">
|
|
<dt>TAi, TBi, TCi (optional): Value between 0 and 0xff. Interface</dt>
|
|
<dd><p class="first last">Characters (for meaning see ISO 7816-3). Note that
|
|
if no transmission protocol is given, it is
|
|
automatically selected with T=max{j-1|TAj in args
|
|
OR TBj in args OR TCj in args}.</p>
|
|
</dd>
|
|
</dl>
|
|
</li>
|
|
<li><dl class="first docutils">
|
|
<dt>T (optional): Value between 0 and 15. Transmission Protocol.</dt>
|
|
<dd><p class="first last">Note that if T is set, TAi/TBi/TCi for i>T are
|
|
omitted.</p>
|
|
</dd>
|
|
</dl>
|
|
</li>
|
|
<li><dl class="first docutils">
|
|
<dt>histChars (optional): Bitstring with 0 <= len(histChars) <= 15.</dt>
|
|
<dd><p class="first last">Historical Characters T1 to T15 (for
|
|
meaning see ISO 7816-4).</p>
|
|
</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
</div></blockquote>
|
|
<p>T0, TDi and TCK are automatically calculated.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS.makeThirdSoftwareFunctionTable">
|
|
<code class="descname">makeThirdSoftwareFunctionTable</code><span class="sig-paren">(</span><em>commandChainging=False</em>, <em>extendedLe=False</em>, <em>assignLogicalChannel=0</em>, <em>maximumChannels=0</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS.makeThirdSoftwareFunctionTable" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Returns a byte according to the third software function table from the
|
|
historical bytes of the card capabilities.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="attribute">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS.mf">
|
|
<code class="descname">mf</code><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS.mf" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>master file</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS.powerDown">
|
|
<code class="descname">powerDown</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS.powerDown" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Powers down the card</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS.powerUp">
|
|
<code class="descname">powerUp</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS.powerUp" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS.reset">
|
|
<code class="descname">reset</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS.reset" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexOS.seekable">
|
|
<code class="descname">seekable</code><span class="sig-paren">(</span><em>ins</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexOS.seekable" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
</dd></dl>
|
|
|
|
<dl class="class">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM">
|
|
<em class="property">class </em><code class="descclassname">virtualsmartcard.cards.cryptoflex.</code><code class="descname">CryptoflexSAM</code><span class="sig-paren">(</span><em>mf=None</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference internal" href="virtualsmartcard.SmartcardSAM.html#virtualsmartcard.SmartcardSAM.SAM" title="virtualsmartcard.SmartcardSAM.SAM"><code class="xref py py-class docutils literal"><span class="pre">virtualsmartcard.SmartcardSAM.SAM</span></code></a></p>
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.FSdecrypt">
|
|
<code class="descname">FSdecrypt</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.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="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.FSencrypt">
|
|
<code class="descname">FSencrypt</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.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="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM._get_referenced_key">
|
|
<code class="descname">_get_referenced_key</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM._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>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
|
|
<li><strong>p1</strong> – Specifies the algorithm to use.</li>
|
|
<li><strong>p2</strong> – <p>Specifies a reference to the key to be used for encryption.</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="3%" />
|
|
<col width="3%" />
|
|
<col width="3%" />
|
|
<col width="3%" />
|
|
<col width="3%" />
|
|
<col width="3%" />
|
|
<col width="3%" />
|
|
<col width="3%" />
|
|
<col width="73%" />
|
|
</colgroup>
|
|
<thead valign="bottom">
|
|
<tr class="row-odd"><th class="head">b8</th>
|
|
<th class="head">b7</th>
|
|
<th class="head">b6</th>
|
|
<th class="head">b5</th>
|
|
<th class="head">b4</th>
|
|
<th class="head">b3</th>
|
|
<th class="head">b2</th>
|
|
<th class="head">b1</th>
|
|
<th class="head">Meaning</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr class="row-even"><td>0</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>No information is given</td>
|
|
</tr>
|
|
<tr class="row-odd"><td>0</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td>Global reference data(e.g. MF specific key)</td>
|
|
</tr>
|
|
<tr class="row-even"><td>1</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td>Specific reference data(e.g. DF specific
|
|
key)</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td>x</td>
|
|
<td>x</td>
|
|
<td>x</td>
|
|
<td>x</td>
|
|
<td>x</td>
|
|
<td>Number of the secret</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>Any other value RFU</p>
|
|
</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.change_reference_data">
|
|
<code class="descname">change_reference_data</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.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="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.erase_SE">
|
|
<code class="descname">erase_SE</code><span class="sig-paren">(</span><em>SEID</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.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="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.external_authenticate">
|
|
<code class="descname">external_authenticate</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.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="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.generate_public_key_pair">
|
|
<code class="descname">generate_public_key_pair</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.generate_public_key_pair" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.get_card_number">
|
|
<code class="descname">get_card_number</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.get_card_number" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.get_challenge">
|
|
<code class="descname">get_challenge</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.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="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.internal_authenticate">
|
|
<code class="descname">internal_authenticate</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.internal_authenticate" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.manage_security_environment">
|
|
<code class="descname">manage_security_environment</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.manage_security_environment" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.mutual_authenticate">
|
|
<code class="descname">mutual_authenticate</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>mutual_challenge</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.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="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.parse_SM_CAPDU">
|
|
<code class="descname">parse_SM_CAPDU</code><span class="sig-paren">(</span><em>CAPDU</em>, <em>header_authentication</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.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="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.perform_security_operation">
|
|
<code class="descname">perform_security_operation</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.perform_security_operation" title="Permalink to this definition">¶</a></dt>
|
|
<dd></dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.pezorform_security_operation">
|
|
<code class="descname">pezorform_security_operation</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.pezorform_security_operation" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>In the cryptoflex card, this is the verify key command. A key is send
|
|
to the card in plain text and compared to a key stored in the card.
|
|
This is used for authentication</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>data</strong> – Contains the key to be verified</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">SW[NORMAL] in case of success otherwise SW[WARN_NOINFO63]</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.protect_result">
|
|
<code class="descname">protect_result</code><span class="sig-paren">(</span><em>sw</em>, <em>unprotected_result</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.protect_result" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Protect a plain response APDU by Secure Messaging</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.restore_SE">
|
|
<code class="descname">restore_SE</code><span class="sig-paren">(</span><em>SEID</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.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="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.set_MF">
|
|
<code class="descname">set_MF</code><span class="sig-paren">(</span><em>mf</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.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="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.set_asym_algorithm">
|
|
<code class="descname">set_asym_algorithm</code><span class="sig-paren">(</span><em>cipher</em>, <em>keytype</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.set_asym_algorithm" title="Permalink to this definition">¶</a></dt>
|
|
<dd><table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
|
|
<li><strong>cipher</strong> – Public/private key object from used for encryption</li>
|
|
<li><strong>keytype</strong> – Type of the public key (e.g. RSA, DSA)</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.store_SE">
|
|
<code class="descname">store_SE</code><span class="sig-paren">(</span><em>SEID</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.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="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSAM.verify">
|
|
<code class="descname">verify</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>PIN</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSAM.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="class">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE">
|
|
<em class="property">class </em><code class="descclassname">virtualsmartcard.cards.cryptoflex.</code><code class="descname">CryptoflexSE</code><span class="sig-paren">(</span><em>MF</em>, <em>SAM</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Bases: <a class="reference internal" href="virtualsmartcard.SEutils.html#virtualsmartcard.SEutils.Security_Environment" title="virtualsmartcard.SEutils.Security_Environment"><code class="xref py py-class docutils literal"><span class="pre">virtualsmartcard.SEutils.Security_Environment</span></code></a></p>
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE._set_SE">
|
|
<code class="descname">_set_SE</code><span class="sig-paren">(</span><em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE._set_SE" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Manipulate the current Security Environment. P2 is the tag of a
|
|
control reference template, data contains control reference objects</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.compute_cryptographic_checksum">
|
|
<code class="descname">compute_cryptographic_checksum</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.compute_cryptographic_checksum" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Compute a cryptographic checksum (e.g. MAC) for the given data.
|
|
Algorithm and key are specified in the current SE</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.compute_digital_signature">
|
|
<code class="descname">compute_digital_signature</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.compute_digital_signature" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Compute a digital signature for the given data.
|
|
Algorithm and key are specified in the current SE</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
|
|
<li><strong>p1</strong> – Must be 0x9E = Secure Messaging class for digital signatures</li>
|
|
<li><strong>p2</strong> – Must be one of 0x9A, 0xAC, 0xBC. Indicates what kind of data
|
|
is included in the data field.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.decipher">
|
|
<code class="descname">decipher</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.decipher" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Decipher data using key, algorithm, IV and Padding specified
|
|
by the current Security environment.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">raw data (no TLV coding). Padding is not removed!!!</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.encipher">
|
|
<code class="descname">encipher</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.encipher" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Encipher data using key, algorithm, IV and Padding specified
|
|
by the current Security environment.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">raw data (no TLV coding).</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.generate_public_key_pair">
|
|
<code class="descname">generate_public_key_pair</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.generate_public_key_pair" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>In the Cryptoflex card this command only supports RSA keys.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
|
|
<li><strong>data</strong> – Contains the public exponent used for key generation</li>
|
|
<li><strong>p1</strong> – The key number. Can be used later to refer to the generated key</li>
|
|
<li><strong>p2</strong> – Used to specify the key length. The mapping is: 0x40 => 256 Bit,
|
|
0x60 => 512 Bit, 0x80 => 1024</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.hash">
|
|
<code class="descname">hash</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.hash" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Hash the given data using the algorithm specified by the current
|
|
Security environment.</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">raw data (no TLV coding).</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.manage_security_environment">
|
|
<code class="descname">manage_security_environment</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.manage_security_environment" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>This method is used to store, restore or erase Security Environments
|
|
or to manipulate the various parameters of the current SE.
|
|
P1 specifies the operation to perform, p2 is either the SEID for the
|
|
referred SE or the tag of a control reference template</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>p1</strong> – <p>Bitmask according to this table</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="4%" />
|
|
<col width="4%" />
|
|
<col width="4%" />
|
|
<col width="4%" />
|
|
<col width="4%" />
|
|
<col width="4%" />
|
|
<col width="4%" />
|
|
<col width="4%" />
|
|
<col width="71%" />
|
|
</colgroup>
|
|
<thead valign="bottom">
|
|
<tr class="row-odd"><th class="head">b8</th>
|
|
<th class="head">b7</th>
|
|
<th class="head">b6</th>
|
|
<th class="head">b5</th>
|
|
<th class="head">b4</th>
|
|
<th class="head">b3</th>
|
|
<th class="head">b2</th>
|
|
<th class="head">b1</th>
|
|
<th class="head">Meaning</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr class="row-even"><td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td>1</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td>Secure messaging in command data field</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td>1</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td>Secure messaging in response data field</td>
|
|
</tr>
|
|
<tr class="row-even"><td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td>1</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td>Computation, decipherment, internal
|
|
authentication and key agreement</td>
|
|
</tr>
|
|
<tr class="row-odd"><td>1</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td>Verification, encipherment, external
|
|
authentication and key agreement</td>
|
|
</tr>
|
|
<tr class="row-even"><td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td><ul class="first last simple">
|
|
<li></li>
|
|
</ul>
|
|
</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>1</td>
|
|
<td>SET</td>
|
|
</tr>
|
|
<tr class="row-odd"><td>1</td>
|
|
<td>1</td>
|
|
<td>1</td>
|
|
<td>1</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>1</td>
|
|
<td>0</td>
|
|
<td>STORE</td>
|
|
</tr>
|
|
<tr class="row-even"><td>1</td>
|
|
<td>1</td>
|
|
<td>1</td>
|
|
<td>1</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>1</td>
|
|
<td>1</td>
|
|
<td>RESTORE</td>
|
|
</tr>
|
|
<tr class="row-odd"><td>1</td>
|
|
<td>1</td>
|
|
<td>1</td>
|
|
<td>1</td>
|
|
<td>0</td>
|
|
<td>1</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>ERASE</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.parse_SM_CAPDU">
|
|
<code class="descname">parse_SM_CAPDU</code><span class="sig-paren">(</span><em>CAPDU</em>, <em>authenticate_header</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.parse_SM_CAPDU" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>This methods parses a data field including Secure Messaging objects.
|
|
SM_header indicates whether or not the header of the message shall be
|
|
authenticated. It returns an unprotected command APDU</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
|
|
<li><strong>CAPDU</strong> – The protected CAPDU to be parsed</li>
|
|
<li><strong>authenticate_header</strong> – Whether or not the header should be
|
|
included in authentication mechanisms</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">Unprotected command APDU</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.perform_security_operation">
|
|
<code class="descname">perform_security_operation</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.perform_security_operation" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>In the end this command is nothing but a big switch for all the other
|
|
commands in ISO 7816-8. It will invoke the appropriate command and
|
|
return its result</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.protect_response">
|
|
<code class="descname">protect_response</code><span class="sig-paren">(</span><em>sw</em>, <em>result</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.protect_response" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>This method protects a response APDU using secure messaging mechanisms</p>
|
|
<table class="docutils field-list" frame="void" rules="none">
|
|
<col class="field-name" />
|
|
<col class="field-body" />
|
|
<tbody valign="top">
|
|
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the protected data and the SW bytes</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.verify_certificate">
|
|
<code class="descname">verify_certificate</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.verify_certificate" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Verify a certificate send by the terminal using the internal trust
|
|
anchors.
|
|
This method is currently not implemented.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.verify_cryptographic_checksum">
|
|
<code class="descname">verify_cryptographic_checksum</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.verify_cryptographic_checksum" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Verify the cryptographic checksum contained in the data field.
|
|
Data field must contain a cryptographic checksum (tag 0x8E) and a plain
|
|
value (tag 0x80)</p>
|
|
</dd></dl>
|
|
|
|
<dl class="method">
|
|
<dt id="virtualsmartcard.cards.cryptoflex.CryptoflexSE.verify_digital_signature">
|
|
<code class="descname">verify_digital_signature</code><span class="sig-paren">(</span><em>p1</em>, <em>p2</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#virtualsmartcard.cards.cryptoflex.CryptoflexSE.verify_digital_signature" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Verify the digital signature contained in the data field. Data must
|
|
contain a data to sign (tag 0x9A, 0xAC or 0xBC) and a digital signature
|
|
(0x9E)</p>
|
|
</dd></dl>
|
|
|
|
</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-2016 by Dominik Oepen and Frank Morgner.<br/>
|
|
</p>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html> |