Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Library PKCS#11: Gcr Library Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="Gcr Library Reference Manual">
<link rel="up" href="misc.html" title="Part VI. Miscellaneous">
<link rel="prev" href="gcr-Library-Utilities.html" title="Library Utilities">
<link rel="next" href="gcr-Key-Fingerprints.html" title="Key Fingerprints">
<meta name="generator" content="GTK-Doc V1.27.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#gcr-Library-PKCS#11.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="misc.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gcr-Library-Utilities.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gcr-Key-Fingerprints.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gcr-Library-PKCS#11"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gcr-Library-PKCS#11.top_of_page"></a>Library PKCS#11</span></h2>
<p>Library PKCS#11 — functions for manipulating GCR library global settings.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gcr-Library-PKCS#11.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-initialize" title="gcr_pkcs11_initialize ()">gcr_pkcs11_initialize</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-initialize-async" title="gcr_pkcs11_initialize_async ()">gcr_pkcs11_initialize_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-initialize-finish" title="gcr_pkcs11_initialize_finish ()">gcr_pkcs11_initialize_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GList</span> *
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-get-modules" title="gcr_pkcs11_get_modules ()">gcr_pkcs11_get_modules</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-set-modules" title="gcr_pkcs11_set_modules ()">gcr_pkcs11_set_modules</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-add-module" title="gcr_pkcs11_add_module ()">gcr_pkcs11_add_module</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-add-module-from-file" title="gcr_pkcs11_add_module_from_file ()">gcr_pkcs11_add_module_from_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GList</span> *
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-get-trust-lookup-slots" title="gcr_pkcs11_get_trust_lookup_slots ()">gcr_pkcs11_get_trust_lookup_slots</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">GckSlot</span> *
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-get-trust-store-slot" title="gcr_pkcs11_get_trust_store_slot ()">gcr_pkcs11_get_trust_store_slot</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> **
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-get-trust-lookup-uris" title="gcr_pkcs11_get_trust_lookup_uris ()">gcr_pkcs11_get_trust_lookup_uris</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-set-trust-lookup-uris" title="gcr_pkcs11_set_trust_lookup_uris ()">gcr_pkcs11_set_trust_lookup_uris</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">gchar</span> *
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-get-trust-store-uri" title="gcr_pkcs11_get_trust_store_uri ()">gcr_pkcs11_get_trust_store_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-set-trust-store-uri" title="gcr_pkcs11_set_trust_store_uri ()">gcr_pkcs11_set_trust_store_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gcr-Library-PKCS#11.description"></a><h2>Description</h2>
<p>Manage or lookup various global aspesct and settings of the library.</p>
<p>The GCR library maintains a global list of PKCS#11 modules to use for
its various lookups and storage operations. Each module is represented by
a GckModule object. You can examine this list by using
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-get-modules" title="gcr_pkcs11_get_modules ()"><code class="function">gcr_pkcs11_get_modules()</code></a>.</p>
<p>The list is configured automatically by looking for system installed
PKCS#11 modules. It's not not normally necessary to modify this list. But
if you have special needs, you can use the <a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-set-modules" title="gcr_pkcs11_set_modules ()"><code class="function">gcr_pkcs11_set_modules()</code></a> and
<a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-add-module" title="gcr_pkcs11_add_module ()"><code class="function">gcr_pkcs11_add_module()</code></a> to do so.</p>
<p>Trust assertions are stored and looked up in specific PKCS#11 slots.
You can examine this list with <a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-get-trust-lookup-slots" title="gcr_pkcs11_get_trust_lookup_slots ()"><code class="function">gcr_pkcs11_get_trust_lookup_slots()</code></a></p>
</div>
<div class="refsect1">
<a name="gcr-Library-PKCS#11.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gcr-pkcs11-initialize"></a><h3>gcr_pkcs11_initialize ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gcr_pkcs11_initialize (<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                       <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Asynchronously initialize the registered PKCS#11 modules.</p>
<div class="refsect3">
<a name="gcr-pkcs11-initialize.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>optional cancellable used to cancel the operation</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to place an error on failure</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gcr-pkcs11-initialize.returns"></a><h4>Returns</h4>
<p> whether the operation was successful or not.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gcr-pkcs11-initialize-async"></a><h3>gcr_pkcs11_initialize_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gcr_pkcs11_initialize_async (<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                             <em class="parameter"><code><span class="type">GAsyncReadyCallback</span> callback</code></em>,
                             <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>Asynchronously initialize the registered PKCS#11 modules.</p>
<div class="refsect3">
<a name="gcr-pkcs11-initialize-async.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>optional cancellable used to cancel the operation</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p>callback which will be called when the operation completes</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>data passed to the callback</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gcr-pkcs11-initialize-finish"></a><h3>gcr_pkcs11_initialize_finish ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gcr_pkcs11_initialize_finish (<em class="parameter"><code><span class="type">GAsyncResult</span> *result</code></em>,
                              <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Complete the asynchronous operation to initialize the registered PKCS#11
modules.</p>
<div class="refsect3">
<a name="gcr-pkcs11-initialize-finish.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>the asynchronous result</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to place an error on failure</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gcr-pkcs11-initialize-finish.returns"></a><h4>Returns</h4>
<p> whether the operation was successful or not.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gcr-pkcs11-get-modules"></a><h3>gcr_pkcs11_get_modules ()</h3>
<pre class="programlisting"><span class="returnvalue">GList</span> *
gcr_pkcs11_get_modules (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>List all the PKCS#11 modules that are used by the GCR library.
Each module is a <span class="type">GckModule</span> object.</p>
<p>An empty list of modules will be returned if <a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-set-modules" title="gcr_pkcs11_set_modules ()"><code class="function">gcr_pkcs11_set_modules()</code></a>,
or <a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-initialize" title="gcr_pkcs11_initialize ()"><code class="function">gcr_pkcs11_initialize()</code></a> has not yet run.</p>
<p>When done with the list, free it with <code class="function">gck_list_unref_free()</code>.</p>
<div class="refsect3">
<a name="gcr-pkcs11-get-modules.returns"></a><h4>Returns</h4>
<p>a newly allocated list
of <span class="type">GckModule</span> objects. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Gck.Module]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gcr-pkcs11-set-modules"></a><h3>gcr_pkcs11_set_modules ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gcr_pkcs11_set_modules (<em class="parameter"><code><span class="type">GList</span> *modules</code></em>);</pre>
<p>Set the list of PKCS#11 modules that are used by the GCR library.
Each module in the list is a <span class="type">GckModule</span> object.</p>
<p>It is not normally necessary to call this function. The available
PKCS#11 modules installed on the system are automatically loaded
by the GCR library.</p>
<div class="refsect3">
<a name="gcr-pkcs11-set-modules.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>modules</p></td>
<td class="parameter_description"><p>a list of <span class="type">GckModule</span>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Gck.Module]</span></td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gcr-pkcs11-add-module"></a><h3>gcr_pkcs11_add_module ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gcr_pkcs11_add_module (<em class="parameter"><code><span class="type">GckModule</span> *module</code></em>);</pre>
<p>Add a <span class="type">GckModule</span> to the list of PKCS#11 modules that are used by the
GCR library.</p>
<p>It is not normally necessary to call this function. The available
PKCS#11 modules installed on the system are automatically loaded
by the GCR library.</p>
<div class="refsect3">
<a name="gcr-pkcs11-add-module.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>module</p></td>
<td class="parameter_description"><p>a <span class="type">GckModule</span></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gcr-pkcs11-add-module-from-file"></a><h3>gcr_pkcs11_add_module_from_file ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gcr_pkcs11_add_module_from_file (<em class="parameter"><code>const <span class="type">gchar</span> *module_path</code></em>,
                                 <em class="parameter"><code><span class="type">gpointer</span> unused</code></em>,
                                 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
<p>Initialize a PKCS#11 module and add it to the modules that are
used by the GCR library. Note that is an error to initialize the same
PKCS#11 module twice.</p>
<p>It is not normally necessary to call this function. The available
PKCS#11 modules installed on the system are automatically loaded
by the GCR library.</p>
<div class="refsect3">
<a name="gcr-pkcs11-add-module-from-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>module_path</p></td>
<td class="parameter_description"><p>the full file path of the PKCS#11 module</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>unused</p></td>
<td class="parameter_description"><p>unused</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span> or NULL</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gcr-pkcs11-add-module-from-file.returns"></a><h4>Returns</h4>
<p> whether the module was sucessfully added.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gcr-pkcs11-get-trust-lookup-slots"></a><h3>gcr_pkcs11_get_trust_lookup_slots ()</h3>
<pre class="programlisting"><span class="returnvalue">GList</span> *
gcr_pkcs11_get_trust_lookup_slots (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>List all the PKCS#11 slots that are used by the GCR library for lookup
of trust assertions. Each slot is a <span class="type">GckSlot</span> object.</p>
<p>This will return an empty list if the <a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-initialize" title="gcr_pkcs11_initialize ()"><code class="function">gcr_pkcs11_initialize()</code></a> function has
not yet been called.</p>
<p>When done with the list, free it with <code class="function">gck_list_unref_free()</code>.</p>
<div class="refsect3">
<a name="gcr-pkcs11-get-trust-lookup-slots.returns"></a><h4>Returns</h4>
<p>a list of <span class="type">GckSlot</span> objects
to use for lookup of trust. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> Gck.Slot]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gcr-pkcs11-get-trust-store-slot"></a><h3>gcr_pkcs11_get_trust_store_slot ()</h3>
<pre class="programlisting"><span class="returnvalue">GckSlot</span> *
gcr_pkcs11_get_trust_store_slot (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Selects an appropriate PKCS#11 slot to store trust assertions. The slot
to use is normally configured automatically by the system.</p>
<p>This will only return a valid result after the <a class="link" href="gcr-Library-PKCS#11.html#gcr-pkcs11-initialize" title="gcr_pkcs11_initialize ()"><code class="function">gcr_pkcs11_initialize()</code></a>
method has been called.</p>
<p>When done with the <span class="type">GckSlot</span>, use <code class="function">g_object_unref()</code> to release it.</p>
<div class="refsect3">
<a name="gcr-pkcs11-get-trust-store-slot.returns"></a><h4>Returns</h4>
<p>the <span class="type">GckSlot</span> to use for trust assertions. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gcr-pkcs11-get-trust-lookup-uris"></a><h3>gcr_pkcs11_get_trust_lookup_uris ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> **
gcr_pkcs11_get_trust_lookup_uris (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Get the PKCS#11 URIs that are used to identify which slots to use for
lookup trust assertions.</p>
<div class="refsect3">
<a name="gcr-pkcs11-get-trust-lookup-uris.returns"></a><h4>Returns</h4>
<p>the uri which identifies trust storage slot. </p>
<p><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gcr-pkcs11-set-trust-lookup-uris"></a><h3>gcr_pkcs11_set_trust_lookup_uris ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gcr_pkcs11_set_trust_lookup_uris (<em class="parameter"><code>const <span class="type">gchar</span> **pkcs11_uris</code></em>);</pre>
<p>Set the PKCS#11 URIs that are used to identify which slots to use for
lookup of trust assertions.</p>
<p>It is not normally necessary to call this function. The relevant
PKCS#11 slots are automatically configured by the GCR library.</p>
<div class="refsect3">
<a name="gcr-pkcs11-set-trust-lookup-uris.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>pkcs11_uris</p></td>
<td class="parameter_description"><p>the uris which identifies trust lookup slots. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gcr-pkcs11-get-trust-store-uri"></a><h3>gcr_pkcs11_get_trust_store_uri ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *
gcr_pkcs11_get_trust_store_uri (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Get the PKCS#11 URI that is used to identify which slot to use for
storing trust storage.</p>
<div class="refsect3">
<a name="gcr-pkcs11-get-trust-store-uri.returns"></a><h4>Returns</h4>
<p>the uri which identifies trust storage slot. </p>
<p><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gcr-pkcs11-set-trust-store-uri"></a><h3>gcr_pkcs11_set_trust_store_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gcr_pkcs11_set_trust_store_uri (<em class="parameter"><code>const <span class="type">gchar</span> *pkcs11_uri</code></em>);</pre>
<p>Set the PKCS#11 URI that is used to identify which slot to use for
storing trust assertions.</p>
<p>It is not normally necessary to call this function. The relevant
PKCS#11 slot is automatically configured by the GCR library.</p>
<div class="refsect3">
<a name="gcr-pkcs11-set-trust-store-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>pkcs11_uri</p></td>
<td class="parameter_description"><p>the uri which identifies trust storage slot. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr></tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="gcr-Library-PKCS#11.other_details"></a><h2>Types and Values</h2>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.27.1</div>
</body>
</html>