summaryrefslogtreecommitdiff
path: root/manual/html_node/Accessing-objects-that-require-a-PIN.html
diff options
context:
space:
mode:
Diffstat (limited to 'manual/html_node/Accessing-objects-that-require-a-PIN.html')
-rw-r--r--manual/html_node/Accessing-objects-that-require-a-PIN.html246
1 files changed, 0 insertions, 246 deletions
diff --git a/manual/html_node/Accessing-objects-that-require-a-PIN.html b/manual/html_node/Accessing-objects-that-require-a-PIN.html
deleted file mode 100644
index fe09e3f3b5..0000000000
--- a/manual/html_node/Accessing-objects-that-require-a-PIN.html
+++ /dev/null
@@ -1,246 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<!-- This manual is last updated 4 March 2015 for version
-3.5.4 of GnuTLS.
-
-Copyright (C) 2001-2015 Free Software Foundation, Inc.\\
-Copyright (C) 2001-2015 Nikos Mavrogiannopoulos
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
-copy of the license is included in the section entitled "GNU Free
-Documentation License". -->
-<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ -->
-<head>
-<title>GnuTLS 3.5.4: Accessing objects that require a PIN</title>
-
-<meta name="description" content="GnuTLS 3.5.4: Accessing objects that require a PIN">
-<meta name="keywords" content="GnuTLS 3.5.4: Accessing objects that require a PIN">
-<meta name="resource-type" content="document">
-<meta name="distribution" content="global">
-<meta name="Generator" content="makeinfo">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<link href="index.html#Top" rel="start" title="Top">
-<link href="Function-and-Data-Index.html#Function-and-Data-Index" rel="index" title="Function and Data Index">
-<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
-<link href="Smart-cards-and-HSMs.html#Smart-cards-and-HSMs" rel="up" title="Smart cards and HSMs">
-<link href="Reading-objects.html#Reading-objects" rel="next" title="Reading objects">
-<link href="PKCS11-Manual-Initialization.html#PKCS11-Manual-Initialization" rel="prev" title="PKCS11 Manual Initialization">
-<style type="text/css">
-<!--
-a.summary-letter {text-decoration: none}
-blockquote.indentedblock {margin-right: 0em}
-blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
-blockquote.smallquotation {font-size: smaller}
-div.display {margin-left: 3.2em}
-div.example {margin-left: 3.2em}
-div.lisp {margin-left: 3.2em}
-div.smalldisplay {margin-left: 3.2em}
-div.smallexample {margin-left: 3.2em}
-div.smalllisp {margin-left: 3.2em}
-kbd {font-style: oblique}
-pre.display {font-family: inherit}
-pre.format {font-family: inherit}
-pre.menu-comment {font-family: serif}
-pre.menu-preformatted {font-family: serif}
-pre.smalldisplay {font-family: inherit; font-size: smaller}
-pre.smallexample {font-size: smaller}
-pre.smallformat {font-family: inherit; font-size: smaller}
-pre.smalllisp {font-size: smaller}
-span.nolinebreak {white-space: nowrap}
-span.roman {font-family: initial; font-weight: normal}
-span.sansserif {font-family: sans-serif; font-weight: normal}
-ul.no-bullet {list-style: none}
-body {
- margin: 2%;
- padding: 0 5%;
- background: #ffffff;
-}
-h1,h2,h3,h4,h5 {
- font-weight: bold;
- padding: 5px 5px 5px 5px;
- background-color: #c2e0ff;
- color: #336699;
-}
-h1 {
- padding: 2em 2em 2em 5%;
- color: white;
- background: #336699;
- text-align: center;
- letter-spacing: 3px;
-}
-h2 { text-decoration: underline; }
-pre {
- margin: 0 5%;
- padding: 0.5em;
-}
-pre.example,pre.verbatim {
- padding-bottom: 1em;
-
- border: solid #c2e0ff;
- background: #f0faff;
- border-width: 1px 1px 1px 5px;
- margin: 1em auto;
- width: 90%;
-}
-
-div.node {
- margin: 0 -5% 0 -2%;
- padding: 0.5em 0.5em;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- font-weight: bold;
-}
-dd, li {
- padding-top: 0.1em;
- padding-bottom: 0.1em;
-}
-div.float {
-
- margin-bottom: 0.5em;
- text-align: center;
-}
-
-table {
- text-align: left;
- margin-left:auto;
- margin-right:auto;
- border-spacing: 7px;
- width: 50%;
-}
-
-th {
- padding: 0;
- color: #336699;
- background-color: #c2e0ff;
- border: solid #000000;
- border-width: 0px;
- margin: 1em auto;
- text-align: center;
- margin-left:auto;
- margin-right:auto;
-}
-
-td {
- padding: 0;
- border: solid #000000;
- background-color: #f0faff;
- border-width: 0px;
- margin: 1em auto;
- text-align: left;
- margin-left:auto;
- margin-right:auto;
- padding-left: 1em;
-}
-
-dl {
- text-align: left;
- margin-left:auto;
- margin-right:auto;
- width: 50%;
-
- padding-left: 1em;
- border: solid #c2e0ff;
- background: #f0faff;
- border-width: 5px 1px 1px 1px;
- margin: 1em auto;
-}
-
--->
-</style>
-
-
-</head>
-
-<body lang="en">
-<a name="Accessing-objects-that-require-a-PIN"></a>
-<div class="header">
-<p>
-Next: <a href="Reading-objects.html#Reading-objects" accesskey="n" rel="next">Reading objects</a>, Previous: <a href="PKCS11-Manual-Initialization.html#PKCS11-Manual-Initialization" accesskey="p" rel="prev">PKCS11 Manual Initialization</a>, Up: <a href="Smart-cards-and-HSMs.html#Smart-cards-and-HSMs" accesskey="u" rel="up">Smart cards and HSMs</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Function-and-Data-Index.html#Function-and-Data-Index" title="Index" rel="index">Index</a>]</p>
-</div>
-<hr>
-<a name="Accessing-objects-that-require-a-PIN-1"></a>
-<h4 class="subsection">5.3.3 Accessing objects that require a PIN</h4>
-
-<p>Objects stored in token such as a private keys are typically protected
-from access by a PIN or password. This PIN may be required to either read
-the object (if allowed) or to perform operations with it. To allow obtaining
-the PIN when accessing a protected object, as well as probe
-the user to insert the token the following functions allow to set a callback.
-</p>
-<dl compact="compact">
-<dt><code><var>void</var> <a href="PKCS-11-API.html#gnutls_005fpkcs11_005fset_005ftoken_005ffunction">gnutls_pkcs11_set_token_function</a> (gnutls_pkcs11_token_callback_t <var>fn</var>, void * <var>userdata</var>)</code></dt>
-<dt><code><var>void</var> <a href="PKCS-11-API.html#gnutls_005fpkcs11_005fset_005fpin_005ffunction">gnutls_pkcs11_set_pin_function</a> (gnutls_pin_callback_t <var>fn</var>, void * <var>userdata</var>)</code></dt>
-<dt><code><var>int</var> <a href="PKCS-11-API.html#gnutls_005fpkcs11_005fadd_005fprovider">gnutls_pkcs11_add_provider</a> (const char * <var>name</var>, const char * <var>params</var>)</code></dt>
-<dt><code><var>gnutls_pin_callback_t</var> <a href="PKCS-11-API.html#gnutls_005fpkcs11_005fget_005fpin_005ffunction">gnutls_pkcs11_get_pin_function</a> (void ** <var>userdata</var>)</code></dt>
-</dl>
-
-<p>The callback is of type <code>gnutls_pin_callback_t</code> and will have as
-input the provided userdata, the PIN attempt number, a URL describing the
-token, a label describing the object and flags. The PIN must be at most
-of <code>pin_max</code> size and must be copied to pin variable. The function must
-return 0 on success or a negative error code otherwise.
-</p>
-<pre class="verbatim">typedef int (*gnutls_pin_callback_t) (void *userdata, int attempt,
- const char *token_url,
- const char *token_label,
- unsigned int flags,
- char *pin, size_t pin_max);
-</pre>
-<p>The flags are of <code>gnutls_pin_flag_t</code> type and are explained below.
-</p>
-<div class="float"><a name="gnutls_005fpin_005fflag_005ft"></a>
-
-
-<dl compact="compact">
-<dt><code>GNUTLS_PIN_USER</code></dt>
-<dd><p>The PIN for the user.
-</p></dd>
-<dt><code>GNUTLS_PIN_SO</code></dt>
-<dd><p>The PIN for the security officer (admin).
-</p></dd>
-<dt><code>GNUTLS_PIN_FINAL_TRY</code></dt>
-<dd><p>This is the final try before blocking.
-</p></dd>
-<dt><code>GNUTLS_PIN_COUNT_LOW</code></dt>
-<dd><p>Few tries remain before token blocks.
-</p></dd>
-<dt><code>GNUTLS_PIN_CONTEXT_SPECIFIC</code></dt>
-<dd><p>The PIN is for a specific action and key like signing.
-</p></dd>
-<dt><code>GNUTLS_PIN_WRONG</code></dt>
-<dd><p>Last given PIN was not correct.
-</p></dd>
-</dl>
-
-<div class="float-caption"><p><strong>Figure 5.2: </strong>The <code>gnutls_pin_flag_t</code> enumeration.</p></div></div>
-<p>Note that due to limitations of <acronym>PKCS</acronym> #11 there are issues when multiple libraries
-are sharing a module. To avoid this problem GnuTLS uses <acronym>p11-kit</acronym>
-that provides a middleware to control access to resources over the
-multiple users.
-</p>
-<p>To avoid conflicts with multiple registered callbacks for PIN functions,
-<a href="PKCS-11-API.html#gnutls_005fpkcs11_005fget_005fpin_005ffunction">gnutls_pkcs11_get_pin_function</a> may be used to check for any previously
-set functions. In addition context specific PIN functions are allowed, e.g., by
-using functions below.
-</p>
-<dl compact="compact">
-<dt><code><var>void</var> <a href="Core-TLS-API.html#gnutls_005fcertificate_005fset_005fpin_005ffunction">gnutls_certificate_set_pin_function</a> (gnutls_certificate_credentials_t <var>cred</var>, gnutls_pin_callback_t <var>fn</var>, void * <var>userdata</var>)</code></dt>
-<dt><code><var>void</var> <a href="Abstract-key-API.html#gnutls_005fpubkey_005fset_005fpin_005ffunction">gnutls_pubkey_set_pin_function</a> (gnutls_pubkey_t <var>key</var>, gnutls_pin_callback_t <var>fn</var>, void * <var>userdata</var>)</code></dt>
-<dt><code><var>void</var> <a href="Abstract-key-API.html#gnutls_005fprivkey_005fset_005fpin_005ffunction">gnutls_privkey_set_pin_function</a> (gnutls_privkey_t <var>key</var>, gnutls_pin_callback_t <var>fn</var>, void * <var>userdata</var>)</code></dt>
-<dt><code><var>void</var> <a href="PKCS-11-API.html#gnutls_005fpkcs11_005fobj_005fset_005fpin_005ffunction">gnutls_pkcs11_obj_set_pin_function</a> (gnutls_pkcs11_obj_t <var>obj</var>, gnutls_pin_callback_t <var>fn</var>, void * <var>userdata</var>)</code></dt>
-<dt><code><var>void</var> <a href="X509-certificate-API.html#gnutls_005fx509_005fcrt_005fset_005fpin_005ffunction">gnutls_x509_crt_set_pin_function</a> (gnutls_x509_crt_t <var>crt</var>, gnutls_pin_callback_t <var>fn</var>, void * <var>userdata</var>)</code></dt>
-</dl>
-
-<hr>
-<div class="header">
-<p>
-Next: <a href="Reading-objects.html#Reading-objects" accesskey="n" rel="next">Reading objects</a>, Previous: <a href="PKCS11-Manual-Initialization.html#PKCS11-Manual-Initialization" accesskey="p" rel="prev">PKCS11 Manual Initialization</a>, Up: <a href="Smart-cards-and-HSMs.html#Smart-cards-and-HSMs" accesskey="u" rel="up">Smart cards and HSMs</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Function-and-Data-Index.html#Function-and-Data-Index" title="Index" rel="index">Index</a>]</p>
-</div>
-
-
-
-</body>
-</html>