summaryrefslogtreecommitdiff
path: root/manual/html_node/PKCS11-Manual-Initialization.html
diff options
context:
space:
mode:
Diffstat (limited to 'manual/html_node/PKCS11-Manual-Initialization.html')
-rw-r--r--manual/html_node/PKCS11-Manual-Initialization.html240
1 files changed, 240 insertions, 0 deletions
diff --git a/manual/html_node/PKCS11-Manual-Initialization.html b/manual/html_node/PKCS11-Manual-Initialization.html
new file mode 100644
index 0000000000..3e23895851
--- /dev/null
+++ b/manual/html_node/PKCS11-Manual-Initialization.html
@@ -0,0 +1,240 @@
+<!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.0 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.0: PKCS11 Manual Initialization</title>
+
+<meta name="description" content="GnuTLS 3.5.0: PKCS11 Manual Initialization">
+<meta name="keywords" content="GnuTLS 3.5.0: PKCS11 Manual Initialization">
+<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="Accessing-objects-that-require-a-PIN.html#Accessing-objects-that-require-a-PIN" rel="next" title="Accessing objects that require a PIN">
+<link href="PKCS11-Initialization.html#PKCS11-Initialization" rel="prev" title="PKCS11 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="PKCS11-Manual-Initialization"></a>
+<div class="header">
+<p>
+Next: <a href="Accessing-objects-that-require-a-PIN.html#Accessing-objects-that-require-a-PIN" accesskey="n" rel="next">Accessing objects that require a PIN</a>, Previous: <a href="PKCS11-Initialization.html#PKCS11-Initialization" accesskey="p" rel="prev">PKCS11 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="Manual-initialization-of-user_002dspecific-modules"></a>
+<h4 class="subsection">5.3.2 Manual initialization of user-specific modules</h4>
+
+<p>In systems where one cannot rely on a globally available p11-kit configuration
+to be available, it is still possible to utilize PKCS #11 objects. That
+can be done by loading directly the PKCS #11 shared module in the
+application using <a href="PKCS-11-API.html#gnutls_005fpkcs11_005fadd_005fprovider">gnutls_pkcs11_add_provider</a>, after having
+called <a href="PKCS-11-API.html#gnutls_005fpkcs11_005finit">gnutls_pkcs11_init</a> specifying the <code>GNUTLS_PKCS11_FLAG_MANUAL</code>
+flag.
+</p>
+
+
+
+<dl>
+<dt><a name="index-gnutls_005fpkcs11_005fadd_005fprovider"></a>Function: <em>int</em> <strong>gnutls_pkcs11_add_provider</strong> <em>(const char * <var>name</var>, const char * <var>params</var>)</em></dt>
+<dd><p><var>name</var>: The filename of the module
+</p>
+<p><var>params</var>: should be NULL
+</p>
+<p>This function will load and add a PKCS 11 module to the module
+list used in gnutls. After this function is called the module will
+be used for PKCS 11 operations.
+</p>
+<p>When loading a module to be used for certificate verification,
+use the string &rsquo;trusted&rsquo; as <code>params</code> .
+</p>
+<p>Note that this function is not thread safe.
+</p>
+<p><strong>Returns:</strong> On success, <code>GNUTLS_E_SUCCESS</code> (0) is returned, otherwise a
+negative error value.
+</p>
+<p><strong>Since:</strong> 2.12.0
+</p></dd></dl>
+
+<p>In that case, the application will only have access to the modules explictly
+loaded. If the <code>GNUTLS_PKCS11_FLAG_MANUAL</code> flag is specified and no calls
+to <a href="PKCS-11-API.html#gnutls_005fpkcs11_005fadd_005fprovider">gnutls_pkcs11_add_provider</a> are made, then the PKCS #11 functionality
+is effectively disabled.
+</p>
+
+
+
+
+<dl>
+<dt><a name="index-gnutls_005fpkcs11_005finit"></a>Function: <em>int</em> <strong>gnutls_pkcs11_init</strong> <em>(unsigned int <var>flags</var>, const char * <var>deprecated_config_file</var>)</em></dt>
+<dd><p><var>flags</var>: An ORed sequence of <code>GNUTLS_PKCS11_FLAG_</code> *
+</p>
+<p><var>deprecated_config_file</var>: either NULL or the location of a deprecated
+configuration file
+</p>
+<p>This function will initialize the PKCS 11 subsystem in gnutls. It will
+read configuration files if <code>GNUTLS_PKCS11_FLAG_AUTO</code> is used or allow
+you to independently load PKCS 11 modules using <code>gnutls_pkcs11_add_provider()</code>
+if <code>GNUTLS_PKCS11_FLAG_MANUAL</code> is specified.
+</p>
+<p>You don&rsquo;t need to call this function since GnuTLS 3.3.0 because it is being called
+during the first request PKCS 11 operation. That call will assume the <code>GNUTLS_PKCS11_FLAG_AUTO</code>
+flag. If another flags are required then it must be called independently
+prior to any PKCS 11 operation.
+</p>
+<p><strong>Returns:</strong> On success, <code>GNUTLS_E_SUCCESS</code> (0) is returned, otherwise a
+negative error value.
+</p>
+<p><strong>Since:</strong> 2.12.0
+</p></dd></dl>
+
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Accessing-objects-that-require-a-PIN.html#Accessing-objects-that-require-a-PIN" accesskey="n" rel="next">Accessing objects that require a PIN</a>, Previous: <a href="PKCS11-Initialization.html#PKCS11-Initialization" accesskey="p" rel="prev">PKCS11 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>