~ubuntu-branches/ubuntu/precise/gnutls28/precise

« back to all changes in this revision

Viewing changes to doc/reference/html/gnutls-openpgp.html

  • Committer: Package Import Robot
  • Author(s): Andreas Metzler
  • Date: 2011-09-20 19:37:06 UTC
  • mfrom: (1.1.3)
  • Revision ID: package-import@ubuntu.com-20110920193706-a9phjijvddzg3nkl
Tags: 3.0.3-1
* New upstream version. (Includes a fix for #640639)
* Bump shlibs.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
2
<html>
 
3
<head>
 
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
5
<title>openpgp</title>
 
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 
7
<link rel="home" href="index.html" title="GnuTLS API Reference Manual">
 
8
<link rel="up" href="intro.html" title="GnuTLS API Reference Manual">
 
9
<link rel="prev" href="gnutls-pkcs12.html" title="pkcs12">
 
10
<link rel="next" href="gnutls-crypto.html" title="crypto">
 
11
<meta name="generator" content="GTK-Doc V1.17 (XML mode)">
 
12
<link rel="stylesheet" href="style.css" type="text/css">
 
13
</head>
 
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 
15
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
 
16
<tr valign="middle">
 
17
<td><a accesskey="p" href="gnutls-pkcs12.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 
18
<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 
19
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
 
20
<th width="100%" align="center">GnuTLS API Reference Manual</th>
 
21
<td><a accesskey="n" href="gnutls-crypto.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
 
22
</tr>
 
23
<tr><td colspan="5" class="shortcuts">
 
24
<a href="#gnutls-openpgp.synopsis" class="shortcut">Top</a>
 
25
                   | 
 
26
                  <a href="#gnutls-openpgp.description" class="shortcut">Description</a>
 
27
</td></tr>
 
28
</table>
 
29
<div class="refentry">
 
30
<a name="gnutls-openpgp"></a><div class="titlepage"></div>
 
31
<div class="refnamediv"><table width="100%"><tr>
 
32
<td valign="top">
 
33
<h2><span class="refentrytitle"><a name="gnutls-openpgp.top_of_page"></a>openpgp</span></h2>
 
34
<p>openpgp</p>
 
35
</td>
 
36
<td valign="top" align="right"></td>
 
37
</tr></table></div>
 
38
<div class="refsynopsisdiv">
 
39
<a name="gnutls-openpgp.synopsis"></a><h2>Synopsis</h2>
 
40
<pre class="synopsis">enum                <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t">gnutls_openpgp_crt_fmt_t</a>;
 
41
typedef             <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t">gnutls_openpgp_keyid_t</a>;
 
42
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-init" title="gnutls_openpgp_crt_init ()">gnutls_openpgp_crt_init</a>             (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> *key</code></em>);
 
43
<span class="returnvalue">void</span>                <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-deinit" title="gnutls_openpgp_crt_deinit ()">gnutls_openpgp_crt_deinit</a>           (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);
 
44
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-import" title="gnutls_openpgp_crt_import ()">gnutls_openpgp_crt_import</a>           (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
45
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
46
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);
 
47
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-export" title="gnutls_openpgp_crt_export ()">gnutls_openpgp_crt_export</a>           (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
48
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>,
 
49
                                                         <em class="parameter"><code><span class="type">void</span> *output_data</code></em>,
 
50
                                                         <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);
 
51
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-print" title="gnutls_openpgp_crt_print ()">gnutls_openpgp_crt_print</a>            (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> cert</code></em>,
 
52
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-print-formats-t" title="enum gnutls_certificate_print_formats_t"><span class="type">gnutls_certificate_print_formats_t</span></a> format</code></em>,
 
53
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *out</code></em>);
 
54
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-key-usage" title="gnutls_openpgp_crt_get_key_usage ()">gnutls_openpgp_crt_get_key_usage</a>    (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
55
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *key_usage</code></em>);
 
56
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-fingerprint" title="gnutls_openpgp_crt_get_fingerprint ()">gnutls_openpgp_crt_get_fingerprint</a>  (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
57
                                                         <em class="parameter"><code><span class="type">void</span> *fpr</code></em>,
 
58
                                                         <em class="parameter"><code><span class="type">size_t</span> *fprlen</code></em>);
 
59
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-fingerprint" title="gnutls_openpgp_crt_get_subkey_fingerprint ()">gnutls_openpgp_crt_get_subkey_fingerprint</a>
 
60
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
61
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
62
                                                         <em class="parameter"><code><span class="type">void</span> *fpr</code></em>,
 
63
                                                         <em class="parameter"><code><span class="type">size_t</span> *fprlen</code></em>);
 
64
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-name" title="gnutls_openpgp_crt_get_name ()">gnutls_openpgp_crt_get_name</a>         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
65
                                                         <em class="parameter"><code><span class="type">int</span> idx</code></em>,
 
66
                                                         <em class="parameter"><code><span class="type">char</span> *buf</code></em>,
 
67
                                                         <em class="parameter"><code><span class="type">size_t</span> *sizeof_buf</code></em>);
 
68
<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a>  <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-pk-algorithm" title="gnutls_openpgp_crt_get_pk_algorithm ()">gnutls_openpgp_crt_get_pk_algorithm</a>
 
69
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
70
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);
 
71
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-version" title="gnutls_openpgp_crt_get_version ()">gnutls_openpgp_crt_get_version</a>      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);
 
72
<span class="returnvalue">time_t</span>              <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-creation-time" title="gnutls_openpgp_crt_get_creation_time ()">gnutls_openpgp_crt_get_creation_time</a>
 
73
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);
 
74
<span class="returnvalue">time_t</span>              <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-expiration-time" title="gnutls_openpgp_crt_get_expiration_time ()">gnutls_openpgp_crt_get_expiration_time</a>
 
75
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);
 
76
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-key-id" title="gnutls_openpgp_crt_get_key_id ()">gnutls_openpgp_crt_get_key_id</a>       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
77
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);
 
78
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-check-hostname" title="gnutls_openpgp_crt_check_hostname ()">gnutls_openpgp_crt_check_hostname</a>   (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
79
                                                         <em class="parameter"><code>const <span class="type">char</span> *hostname</code></em>);
 
80
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-revoked-status" title="gnutls_openpgp_crt_get_revoked_status ()">gnutls_openpgp_crt_get_revoked_status</a>
 
81
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);
 
82
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-count" title="gnutls_openpgp_crt_get_subkey_count ()">gnutls_openpgp_crt_get_subkey_count</a> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);
 
83
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-idx" title="gnutls_openpgp_crt_get_subkey_idx ()">gnutls_openpgp_crt_get_subkey_idx</a>   (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
84
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);
 
85
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-revoked-status" title="gnutls_openpgp_crt_get_subkey_revoked_status ()">gnutls_openpgp_crt_get_subkey_revoked_status</a>
 
86
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
87
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);
 
88
<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a>  <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-pk-algorithm" title="gnutls_openpgp_crt_get_subkey_pk_algorithm ()">gnutls_openpgp_crt_get_subkey_pk_algorithm</a>
 
89
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
90
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
91
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);
 
92
<span class="returnvalue">time_t</span>              <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-creation-time" title="gnutls_openpgp_crt_get_subkey_creation_time ()">gnutls_openpgp_crt_get_subkey_creation_time</a>
 
93
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
94
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);
 
95
<span class="returnvalue">time_t</span>              <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-expiration-time" title="gnutls_openpgp_crt_get_subkey_expiration_time ()">gnutls_openpgp_crt_get_subkey_expiration_time</a>
 
96
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
97
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);
 
98
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-id" title="gnutls_openpgp_crt_get_subkey_id ()">gnutls_openpgp_crt_get_subkey_id</a>    (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
99
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
100
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);
 
101
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-usage" title="gnutls_openpgp_crt_get_subkey_usage ()">gnutls_openpgp_crt_get_subkey_usage</a> (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
102
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
103
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *key_usage</code></em>);
 
104
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-pk-dsa-raw" title="gnutls_openpgp_crt_get_subkey_pk_dsa_raw ()">gnutls_openpgp_crt_get_subkey_pk_dsa_raw</a>
 
105
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>,
 
106
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
107
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
108
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
109
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *g</code></em>,
 
110
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *y</code></em>);
 
111
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-subkey-pk-rsa-raw" title="gnutls_openpgp_crt_get_subkey_pk_rsa_raw ()">gnutls_openpgp_crt_get_subkey_pk_rsa_raw</a>
 
112
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>,
 
113
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
114
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *m</code></em>,
 
115
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *e</code></em>);
 
116
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-pk-dsa-raw" title="gnutls_openpgp_crt_get_pk_dsa_raw ()">gnutls_openpgp_crt_get_pk_dsa_raw</a>   (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>,
 
117
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
118
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
119
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *g</code></em>,
 
120
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *y</code></em>);
 
121
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-pk-rsa-raw" title="gnutls_openpgp_crt_get_pk_rsa_raw ()">gnutls_openpgp_crt_get_pk_rsa_raw</a>   (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>,
 
122
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *m</code></em>,
 
123
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *e</code></em>);
 
124
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-preferred-key-id" title="gnutls_openpgp_crt_get_preferred_key_id ()">gnutls_openpgp_crt_get_preferred_key_id</a>
 
125
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
126
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);
 
127
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-set-preferred-key-id" title="gnutls_openpgp_crt_set_preferred_key_id ()">gnutls_openpgp_crt_set_preferred_key_id</a>
 
128
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
129
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);
 
130
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-init" title="gnutls_openpgp_privkey_init ()">gnutls_openpgp_privkey_init</a>         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> *key</code></em>);
 
131
<span class="returnvalue">void</span>                <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-deinit" title="gnutls_openpgp_privkey_deinit ()">gnutls_openpgp_privkey_deinit</a>       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>);
 
132
<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a>  <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-pk-algorithm" title="gnutls_openpgp_privkey_get_pk_algorithm ()">gnutls_openpgp_privkey_get_pk_algorithm</a>
 
133
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
134
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);
 
135
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-import" title="gnutls_openpgp_privkey_import ()">gnutls_openpgp_privkey_import</a>       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
136
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
137
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>,
 
138
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
 
139
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);
 
140
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-fingerprint" title="gnutls_openpgp_privkey_get_fingerprint ()">gnutls_openpgp_privkey_get_fingerprint</a>
 
141
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
142
                                                         <em class="parameter"><code><span class="type">void</span> *fpr</code></em>,
 
143
                                                         <em class="parameter"><code><span class="type">size_t</span> *fprlen</code></em>);
 
144
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-fingerprint" title="gnutls_openpgp_privkey_get_subkey_fingerprint ()">gnutls_openpgp_privkey_get_subkey_fingerprint</a>
 
145
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
146
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
147
                                                         <em class="parameter"><code><span class="type">void</span> *fpr</code></em>,
 
148
                                                         <em class="parameter"><code><span class="type">size_t</span> *fprlen</code></em>);
 
149
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-key-id" title="gnutls_openpgp_privkey_get_key_id ()">gnutls_openpgp_privkey_get_key_id</a>   (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
150
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);
 
151
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-count" title="gnutls_openpgp_privkey_get_subkey_count ()">gnutls_openpgp_privkey_get_subkey_count</a>
 
152
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>);
 
153
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-idx" title="gnutls_openpgp_privkey_get_subkey_idx ()">gnutls_openpgp_privkey_get_subkey_idx</a>
 
154
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
155
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);
 
156
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-revoked-status" title="gnutls_openpgp_privkey_get_subkey_revoked_status ()">gnutls_openpgp_privkey_get_subkey_revoked_status</a>
 
157
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
158
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);
 
159
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-revoked-status" title="gnutls_openpgp_privkey_get_revoked_status ()">gnutls_openpgp_privkey_get_revoked_status</a>
 
160
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>);
 
161
<a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a>  <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-pk-algorithm" title="gnutls_openpgp_privkey_get_subkey_pk_algorithm ()">gnutls_openpgp_privkey_get_subkey_pk_algorithm</a>
 
162
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
163
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
164
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);
 
165
<span class="returnvalue">time_t</span>              <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-expiration-time" title="gnutls_openpgp_privkey_get_subkey_expiration_time ()">gnutls_openpgp_privkey_get_subkey_expiration_time</a>
 
166
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
167
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);
 
168
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-id" title="gnutls_openpgp_privkey_get_subkey_id ()">gnutls_openpgp_privkey_get_subkey_id</a>
 
169
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
170
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
171
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);
 
172
<span class="returnvalue">time_t</span>              <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-subkey-creation-time" title="gnutls_openpgp_privkey_get_subkey_creation_time ()">gnutls_openpgp_privkey_get_subkey_creation_time</a>
 
173
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
174
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);
 
175
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export-subkey-dsa-raw" title="gnutls_openpgp_privkey_export_subkey_dsa_raw ()">gnutls_openpgp_privkey_export_subkey_dsa_raw</a>
 
176
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>,
 
177
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
178
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
179
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
180
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *g</code></em>,
 
181
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *y</code></em>,
 
182
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *x</code></em>);
 
183
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export-subkey-rsa-raw" title="gnutls_openpgp_privkey_export_subkey_rsa_raw ()">gnutls_openpgp_privkey_export_subkey_rsa_raw</a>
 
184
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>,
 
185
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
186
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *m</code></em>,
 
187
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *e</code></em>,
 
188
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *d</code></em>,
 
189
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
190
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
191
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *u</code></em>);
 
192
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export-dsa-raw" title="gnutls_openpgp_privkey_export_dsa_raw ()">gnutls_openpgp_privkey_export_dsa_raw</a>
 
193
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>,
 
194
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
195
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
196
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *g</code></em>,
 
197
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *y</code></em>,
 
198
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *x</code></em>);
 
199
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export-rsa-raw" title="gnutls_openpgp_privkey_export_rsa_raw ()">gnutls_openpgp_privkey_export_rsa_raw</a>
 
200
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>,
 
201
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *m</code></em>,
 
202
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *e</code></em>,
 
203
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *d</code></em>,
 
204
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
205
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
206
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *u</code></em>);
 
207
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-export" title="gnutls_openpgp_privkey_export ()">gnutls_openpgp_privkey_export</a>       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
208
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>,
 
209
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
 
210
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>,
 
211
                                                         <em class="parameter"><code><span class="type">void</span> *output_data</code></em>,
 
212
                                                         <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);
 
213
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-set-preferred-key-id" title="gnutls_openpgp_privkey_set_preferred_key_id ()">gnutls_openpgp_privkey_set_preferred_key_id</a>
 
214
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
215
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);
 
216
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-privkey-get-preferred-key-id" title="gnutls_openpgp_privkey_get_preferred_key_id ()">gnutls_openpgp_privkey_get_preferred_key_id</a>
 
217
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
218
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);
 
219
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-auth-subkey" title="gnutls_openpgp_crt_get_auth_subkey ()">gnutls_openpgp_crt_get_auth_subkey</a>  (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>,
 
220
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>,
 
221
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> flag</code></em>);
 
222
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-init" title="gnutls_openpgp_keyring_init ()">gnutls_openpgp_keyring_init</a>         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> *keyring</code></em>);
 
223
<span class="returnvalue">void</span>                <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-deinit" title="gnutls_openpgp_keyring_deinit ()">gnutls_openpgp_keyring_deinit</a>       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> keyring</code></em>);
 
224
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-import" title="gnutls_openpgp_keyring_import ()">gnutls_openpgp_keyring_import</a>       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> keyring</code></em>,
 
225
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
226
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);
 
227
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-check-id" title="gnutls_openpgp_keyring_check_id ()">gnutls_openpgp_keyring_check_id</a>     (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> ring</code></em>,
 
228
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>,
 
229
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);
 
230
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-verify-ring" title="gnutls_openpgp_crt_verify_ring ()">gnutls_openpgp_crt_verify_ring</a>      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
231
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> keyring</code></em>,
 
232
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>,
 
233
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *verify</code></em>);
 
234
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-verify-self" title="gnutls_openpgp_crt_verify_self ()">gnutls_openpgp_crt_verify_self</a>      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
235
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>,
 
236
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *verify</code></em>);
 
237
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-get-crt" title="gnutls_openpgp_keyring_get_crt ()">gnutls_openpgp_keyring_get_crt</a>      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> ring</code></em>,
 
238
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
239
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> *cert</code></em>);
 
240
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyring-get-crt-count" title="gnutls_openpgp_keyring_get_crt_count ()">gnutls_openpgp_keyring_get_crt_count</a>
 
241
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> ring</code></em>);
 
242
<span class="returnvalue">int</span>                 (<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-recv-key-func" title="gnutls_openpgp_recv_key_func ()">*gnutls_openpgp_recv_key_func</a>)     (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
243
                                                         <em class="parameter"><code>const unsigned <span class="type">char</span> *keyfpr</code></em>,
 
244
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> keyfpr_length</code></em>,
 
245
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *key</code></em>);
 
246
<span class="returnvalue">void</span>                <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-set-recv-key-function" title="gnutls_openpgp_set_recv_key_function ()">gnutls_openpgp_set_recv_key_function</a>
 
247
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
248
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-recv-key-func" title="gnutls_openpgp_recv_key_func ()"><span class="type">gnutls_openpgp_recv_key_func</span></a> func</code></em>);
 
249
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key" title="gnutls_certificate_set_openpgp_key ()">gnutls_certificate_set_openpgp_key</a>  (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
250
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>,
 
251
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>);
 
252
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-file" title="gnutls_certificate_set_openpgp_key_file ()">gnutls_certificate_set_openpgp_key_file</a>
 
253
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
254
                                                         <em class="parameter"><code>const <span class="type">char</span> *certfile</code></em>,
 
255
                                                         <em class="parameter"><code>const <span class="type">char</span> *keyfile</code></em>,
 
256
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);
 
257
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-mem" title="gnutls_certificate_set_openpgp_key_mem ()">gnutls_certificate_set_openpgp_key_mem</a>
 
258
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
259
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *cert</code></em>,
 
260
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *key</code></em>,
 
261
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);
 
262
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-file2" title="gnutls_certificate_set_openpgp_key_file2 ()">gnutls_certificate_set_openpgp_key_file2</a>
 
263
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
264
                                                         <em class="parameter"><code>const <span class="type">char</span> *certfile</code></em>,
 
265
                                                         <em class="parameter"><code>const <span class="type">char</span> *keyfile</code></em>,
 
266
                                                         <em class="parameter"><code>const <span class="type">char</span> *subkey_id</code></em>,
 
267
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);
 
268
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-key-mem2" title="gnutls_certificate_set_openpgp_key_mem2 ()">gnutls_certificate_set_openpgp_key_mem2</a>
 
269
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
270
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *cert</code></em>,
 
271
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *key</code></em>,
 
272
                                                         <em class="parameter"><code>const <span class="type">char</span> *subkey_id</code></em>,
 
273
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);
 
274
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-keyring-mem" title="gnutls_certificate_set_openpgp_keyring_mem ()">gnutls_certificate_set_openpgp_keyring_mem</a>
 
275
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> c</code></em>,
 
276
                                                         <em class="parameter"><code>const unsigned <span class="type">char</span> *data</code></em>,
 
277
                                                         <em class="parameter"><code><span class="type">size_t</span> dlen</code></em>,
 
278
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);
 
279
<span class="returnvalue">int</span>                 <a class="link" href="gnutls-openpgp.html#gnutls-certificate-set-openpgp-keyring-file" title="gnutls_certificate_set_openpgp_keyring_file ()">gnutls_certificate_set_openpgp_keyring_file</a>
 
280
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> c</code></em>,
 
281
                                                         <em class="parameter"><code>const <span class="type">char</span> *file</code></em>,
 
282
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);
 
283
</pre>
 
284
</div>
 
285
<div class="refsect1">
 
286
<a name="gnutls-openpgp.description"></a><h2>Description</h2>
 
287
<p>
 
288
</p>
 
289
</div>
 
290
<div class="refsect1">
 
291
<a name="gnutls-openpgp.details"></a><h2>Details</h2>
 
292
<div class="refsect2">
 
293
<a name="gnutls-openpgp-crt-fmt-t"></a><h3>enum gnutls_openpgp_crt_fmt_t</h3>
 
294
<pre class="programlisting">  typedef enum gnutls_openpgp_crt_fmt
 
295
  {
 
296
    GNUTLS_OPENPGP_FMT_RAW,
 
297
    GNUTLS_OPENPGP_FMT_BASE64
 
298
  } gnutls_openpgp_crt_fmt_t;
 
299
</pre>
 
300
<p>
 
301
Enumeration of different OpenPGP key formats.
 
302
</p>
 
303
<div class="variablelist"><table border="0">
 
304
<col align="left" valign="top">
 
305
<tbody>
 
306
<tr>
 
307
<td><p><a name="GNUTLS-OPENPGP-FMT-RAW:CAPS"></a><span class="term"><code class="literal">GNUTLS_OPENPGP_FMT_RAW</code></span></p></td>
 
308
<td>OpenPGP certificate in raw format.
 
309
</td>
 
310
</tr>
 
311
<tr>
 
312
<td><p><a name="GNUTLS-OPENPGP-FMT-BASE64:CAPS"></a><span class="term"><code class="literal">GNUTLS_OPENPGP_FMT_BASE64</code></span></p></td>
 
313
<td>OpenPGP certificate in base64 format.
 
314
</td>
 
315
</tr>
 
316
</tbody>
 
317
</table></div>
 
318
</div>
 
319
<hr>
 
320
<div class="refsect2">
 
321
<a name="gnutls-openpgp-keyid-t"></a><h3>gnutls_openpgp_keyid_t</h3>
 
322
<pre class="programlisting">  typedef unsigned char gnutls_openpgp_keyid_t[GNUTLS_OPENPGP_KEYID_SIZE];
 
323
</pre>
 
324
<p>
 
325
</p>
 
326
</div>
 
327
<hr>
 
328
<div class="refsect2">
 
329
<a name="gnutls-openpgp-crt-init"></a><h3>gnutls_openpgp_crt_init ()</h3>
 
330
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_init             (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> *key</code></em>);</pre>
 
331
<p>
 
332
This function will initialize an OpenPGP key structure.
 
333
</p>
 
334
<div class="variablelist"><table border="0">
 
335
<col align="left" valign="top">
 
336
<tbody>
 
337
<tr>
 
338
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
339
<td>The structure to be initialized</td>
 
340
</tr>
 
341
<tr>
 
342
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
343
<td>
 
344
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
345
</tr>
 
346
</tbody>
 
347
</table></div>
 
348
</div>
 
349
<hr>
 
350
<div class="refsect2">
 
351
<a name="gnutls-openpgp-crt-deinit"></a><h3>gnutls_openpgp_crt_deinit ()</h3>
 
352
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_openpgp_crt_deinit           (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);</pre>
 
353
<p>
 
354
This function will deinitialize a key structure.
 
355
</p>
 
356
<div class="variablelist"><table border="0">
 
357
<col align="left" valign="top">
 
358
<tbody><tr>
 
359
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
360
<td>The structure to be initialized</td>
 
361
</tr></tbody>
 
362
</table></div>
 
363
</div>
 
364
<hr>
 
365
<div class="refsect2">
 
366
<a name="gnutls-openpgp-crt-import"></a><h3>gnutls_openpgp_crt_import ()</h3>
 
367
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_import           (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
368
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
369
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre>
 
370
<p>
 
371
This function will convert the given RAW or Base64 encoded key to
 
372
the native <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> format. The output will be stored
 
373
in 'key'.
 
374
</p>
 
375
<div class="variablelist"><table border="0">
 
376
<col align="left" valign="top">
 
377
<tbody>
 
378
<tr>
 
379
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
380
<td>The structure to store the parsed key.</td>
 
381
</tr>
 
382
<tr>
 
383
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
 
384
<td>The RAW or BASE64 encoded key.</td>
 
385
</tr>
 
386
<tr>
 
387
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
 
388
<td>One of gnutls_openpgp_crt_fmt_t elements.</td>
 
389
</tr>
 
390
<tr>
 
391
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
392
<td>
 
393
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
394
</tr>
 
395
</tbody>
 
396
</table></div>
 
397
</div>
 
398
<hr>
 
399
<div class="refsect2">
 
400
<a name="gnutls-openpgp-crt-export"></a><h3>gnutls_openpgp_crt_export ()</h3>
 
401
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_export           (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
402
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>,
 
403
                                                         <em class="parameter"><code><span class="type">void</span> *output_data</code></em>,
 
404
                                                         <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre>
 
405
<p>
 
406
This function will convert the given key to RAW or Base64 format.
 
407
If the buffer provided is not long enough to hold the output, then
 
408
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SHORT-MEMORY-BUFFER:CAPS" title="GNUTLS_E_SHORT_MEMORY_BUFFER"><code class="literal">GNUTLS_E_SHORT_MEMORY_BUFFER</code></a> will be returned.
 
409
</p>
 
410
<div class="variablelist"><table border="0">
 
411
<col align="left" valign="top">
 
412
<tbody>
 
413
<tr>
 
414
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
415
<td>Holds the key.</td>
 
416
</tr>
 
417
<tr>
 
418
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
 
419
<td>One of gnutls_openpgp_crt_fmt_t elements.</td>
 
420
</tr>
 
421
<tr>
 
422
<td><p><span class="term"><em class="parameter"><code>output_data</code></em> :</span></p></td>
 
423
<td>will contain the key base64 encoded or raw</td>
 
424
</tr>
 
425
<tr>
 
426
<td><p><span class="term"><em class="parameter"><code>output_data_size</code></em> :</span></p></td>
 
427
<td>holds the size of output_data (and will
 
428
be replaced by the actual size of parameters)</td>
 
429
</tr>
 
430
<tr>
 
431
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
432
<td>
 
433
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
434
</tr>
 
435
</tbody>
 
436
</table></div>
 
437
</div>
 
438
<hr>
 
439
<div class="refsect2">
 
440
<a name="gnutls-openpgp-crt-print"></a><h3>gnutls_openpgp_crt_print ()</h3>
 
441
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_print            (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> cert</code></em>,
 
442
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-certificate-print-formats-t" title="enum gnutls_certificate_print_formats_t"><span class="type">gnutls_certificate_print_formats_t</span></a> format</code></em>,
 
443
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *out</code></em>);</pre>
 
444
<p>
 
445
This function will pretty print an OpenPGP certificate, suitable
 
446
for display to a human.
 
447
</p>
 
448
<p>
 
449
The format should be (0) for future compatibility.
 
450
</p>
 
451
<p>
 
452
The output <em class="parameter"><code>out</code></em> needs to be deallocate using <a class="link" href="gnutls-gnutls.html#gnutls-free" title="gnutls_free"><code class="function">gnutls_free()</code></a>.
 
453
</p>
 
454
<div class="variablelist"><table border="0">
 
455
<col align="left" valign="top">
 
456
<tbody>
 
457
<tr>
 
458
<td><p><span class="term"><em class="parameter"><code>cert</code></em> :</span></p></td>
 
459
<td>The structure to be printed</td>
 
460
</tr>
 
461
<tr>
 
462
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
 
463
<td>Indicate the format to use</td>
 
464
</tr>
 
465
<tr>
 
466
<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
 
467
<td>Newly allocated datum with (0) terminated string.</td>
 
468
</tr>
 
469
<tr>
 
470
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
471
<td>
 
472
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
473
</tr>
 
474
</tbody>
 
475
</table></div>
 
476
</div>
 
477
<hr>
 
478
<div class="refsect2">
 
479
<a name="gnutls-openpgp-crt-get-key-usage"></a><h3>gnutls_openpgp_crt_get_key_usage ()</h3>
 
480
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_key_usage    (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
481
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *key_usage</code></em>);</pre>
 
482
<p>
 
483
This function will return certificate's key usage, by checking the
 
484
key algorithm. The key usage value will ORed values of the:
 
485
<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DIGITAL-SIGNATURE:CAPS" title="GNUTLS_KEY_DIGITAL_SIGNATURE"><code class="literal">GNUTLS_KEY_DIGITAL_SIGNATURE</code></a>, <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-ENCIPHERMENT:CAPS" title="GNUTLS_KEY_KEY_ENCIPHERMENT"><code class="literal">GNUTLS_KEY_KEY_ENCIPHERMENT</code></a>.
 
486
</p>
 
487
<div class="variablelist"><table border="0">
 
488
<col align="left" valign="top">
 
489
<tbody>
 
490
<tr>
 
491
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
492
<td>should contain a gnutls_openpgp_crt_t structure</td>
 
493
</tr>
 
494
<tr>
 
495
<td><p><span class="term"><em class="parameter"><code>key_usage</code></em> :</span></p></td>
 
496
<td>where the key usage bits will be stored</td>
 
497
</tr>
 
498
<tr>
 
499
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
500
<td>
 
501
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
502
</tr>
 
503
</tbody>
 
504
</table></div>
 
505
</div>
 
506
<hr>
 
507
<div class="refsect2">
 
508
<a name="gnutls-openpgp-crt-get-fingerprint"></a><h3>gnutls_openpgp_crt_get_fingerprint ()</h3>
 
509
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_fingerprint  (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
510
                                                         <em class="parameter"><code><span class="type">void</span> *fpr</code></em>,
 
511
                                                         <em class="parameter"><code><span class="type">size_t</span> *fprlen</code></em>);</pre>
 
512
<p>
 
513
Get key fingerprint.  Depending on the algorithm, the fingerprint
 
514
can be 16 or 20 bytes.
 
515
</p>
 
516
<div class="variablelist"><table border="0">
 
517
<col align="left" valign="top">
 
518
<tbody>
 
519
<tr>
 
520
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
521
<td>the raw data that contains the OpenPGP public key.</td>
 
522
</tr>
 
523
<tr>
 
524
<td><p><span class="term"><em class="parameter"><code>fpr</code></em> :</span></p></td>
 
525
<td>the buffer to save the fingerprint, must hold at least 20 bytes.</td>
 
526
</tr>
 
527
<tr>
 
528
<td><p><span class="term"><em class="parameter"><code>fprlen</code></em> :</span></p></td>
 
529
<td>the integer to save the length of the fingerprint.</td>
 
530
</tr>
 
531
<tr>
 
532
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
533
<td>On success, 0 is returned.  Otherwise, an error code.</td>
 
534
</tr>
 
535
</tbody>
 
536
</table></div>
 
537
</div>
 
538
<hr>
 
539
<div class="refsect2">
 
540
<a name="gnutls-openpgp-crt-get-subkey-fingerprint"></a><h3>gnutls_openpgp_crt_get_subkey_fingerprint ()</h3>
 
541
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_subkey_fingerprint
 
542
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
543
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
544
                                                         <em class="parameter"><code><span class="type">void</span> *fpr</code></em>,
 
545
                                                         <em class="parameter"><code><span class="type">size_t</span> *fprlen</code></em>);</pre>
 
546
<p>
 
547
Get key fingerprint of a subkey.  Depending on the algorithm, the
 
548
fingerprint can be 16 or 20 bytes.
 
549
</p>
 
550
<div class="variablelist"><table border="0">
 
551
<col align="left" valign="top">
 
552
<tbody>
 
553
<tr>
 
554
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
555
<td>the raw data that contains the OpenPGP public key.</td>
 
556
</tr>
 
557
<tr>
 
558
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
559
<td>the subkey index</td>
 
560
</tr>
 
561
<tr>
 
562
<td><p><span class="term"><em class="parameter"><code>fpr</code></em> :</span></p></td>
 
563
<td>the buffer to save the fingerprint, must hold at least 20 bytes.</td>
 
564
</tr>
 
565
<tr>
 
566
<td><p><span class="term"><em class="parameter"><code>fprlen</code></em> :</span></p></td>
 
567
<td>the integer to save the length of the fingerprint.</td>
 
568
</tr>
 
569
<tr>
 
570
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
571
<td>On success, 0 is returned.  Otherwise, an error code.</td>
 
572
</tr>
 
573
</tbody>
 
574
</table></div>
 
575
<p class="since">Since 2.4.0</p>
 
576
</div>
 
577
<hr>
 
578
<div class="refsect2">
 
579
<a name="gnutls-openpgp-crt-get-name"></a><h3>gnutls_openpgp_crt_get_name ()</h3>
 
580
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_name         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
581
                                                         <em class="parameter"><code><span class="type">int</span> idx</code></em>,
 
582
                                                         <em class="parameter"><code><span class="type">char</span> *buf</code></em>,
 
583
                                                         <em class="parameter"><code><span class="type">size_t</span> *sizeof_buf</code></em>);</pre>
 
584
<p>
 
585
Extracts the userID from the parsed OpenPGP key.
 
586
</p>
 
587
<div class="variablelist"><table border="0">
 
588
<col align="left" valign="top">
 
589
<tbody>
 
590
<tr>
 
591
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
592
<td>the structure that contains the OpenPGP public key.</td>
 
593
</tr>
 
594
<tr>
 
595
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
596
<td>the index of the ID to extract</td>
 
597
</tr>
 
598
<tr>
 
599
<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td>
 
600
<td>a pointer to a structure to hold the name, may be <code class="literal">NULL</code>
 
601
to only get the <em class="parameter"><code>sizeof_buf</code></em>.</td>
 
602
</tr>
 
603
<tr>
 
604
<td><p><span class="term"><em class="parameter"><code>sizeof_buf</code></em> :</span></p></td>
 
605
<td>holds the maximum size of <em class="parameter"><code>buf</code></em>, on return hold the
 
606
actual/required size of <em class="parameter"><code>buf</code></em>.</td>
 
607
</tr>
 
608
<tr>
 
609
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
610
<td>
 
611
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, and if the index of the ID
 
612
does not exist <a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a>, or an
 
613
error code.</td>
 
614
</tr>
 
615
</tbody>
 
616
</table></div>
 
617
</div>
 
618
<hr>
 
619
<div class="refsect2">
 
620
<a name="gnutls-openpgp-crt-get-pk-algorithm"></a><h3>gnutls_openpgp_crt_get_pk_algorithm ()</h3>
 
621
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a>  gnutls_openpgp_crt_get_pk_algorithm
 
622
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
623
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre>
 
624
<p>
 
625
This function will return the public key algorithm of an OpenPGP
 
626
certificate.
 
627
</p>
 
628
<p>
 
629
If bits is non null, it should have enough size to hold the parameters
 
630
size in bits. For RSA the bits returned is the modulus.
 
631
For DSA the bits returned are of the public exponent.
 
632
</p>
 
633
<div class="variablelist"><table border="0">
 
634
<col align="left" valign="top">
 
635
<tbody>
 
636
<tr>
 
637
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
638
<td>is an OpenPGP key</td>
 
639
</tr>
 
640
<tr>
 
641
<td><p><span class="term"><em class="parameter"><code>bits</code></em> :</span></p></td>
 
642
<td>if bits is non null it will hold the size of the parameters' in bits</td>
 
643
</tr>
 
644
<tr>
 
645
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
646
<td>a member of the <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> enumeration on
 
647
success, or GNUTLS_PK_UNKNOWN on error.</td>
 
648
</tr>
 
649
</tbody>
 
650
</table></div>
 
651
</div>
 
652
<hr>
 
653
<div class="refsect2">
 
654
<a name="gnutls-openpgp-crt-get-version"></a><h3>gnutls_openpgp_crt_get_version ()</h3>
 
655
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_version      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);</pre>
 
656
<p>
 
657
Extract the version of the OpenPGP key.
 
658
</p>
 
659
<div class="variablelist"><table border="0">
 
660
<col align="left" valign="top">
 
661
<tbody>
 
662
<tr>
 
663
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
664
<td>the structure that contains the OpenPGP public key.</td>
 
665
</tr>
 
666
<tr>
 
667
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
668
<td>the version number is returned, or a negative error code on errors.</td>
 
669
</tr>
 
670
</tbody>
 
671
</table></div>
 
672
</div>
 
673
<hr>
 
674
<div class="refsect2">
 
675
<a name="gnutls-openpgp-crt-get-creation-time"></a><h3>gnutls_openpgp_crt_get_creation_time ()</h3>
 
676
<pre class="programlisting"><span class="returnvalue">time_t</span>              gnutls_openpgp_crt_get_creation_time
 
677
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);</pre>
 
678
<p>
 
679
Get key creation time.
 
680
</p>
 
681
<div class="variablelist"><table border="0">
 
682
<col align="left" valign="top">
 
683
<tbody>
 
684
<tr>
 
685
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
686
<td>the structure that contains the OpenPGP public key.</td>
 
687
</tr>
 
688
<tr>
 
689
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
690
<td>the timestamp when the OpenPGP key was created.</td>
 
691
</tr>
 
692
</tbody>
 
693
</table></div>
 
694
</div>
 
695
<hr>
 
696
<div class="refsect2">
 
697
<a name="gnutls-openpgp-crt-get-expiration-time"></a><h3>gnutls_openpgp_crt_get_expiration_time ()</h3>
 
698
<pre class="programlisting"><span class="returnvalue">time_t</span>              gnutls_openpgp_crt_get_expiration_time
 
699
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);</pre>
 
700
<p>
 
701
Get key expiration time.  A value of '0' means that the key doesn't
 
702
expire at all.
 
703
</p>
 
704
<div class="variablelist"><table border="0">
 
705
<col align="left" valign="top">
 
706
<tbody>
 
707
<tr>
 
708
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
709
<td>the structure that contains the OpenPGP public key.</td>
 
710
</tr>
 
711
<tr>
 
712
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
713
<td>the time when the OpenPGP key expires.</td>
 
714
</tr>
 
715
</tbody>
 
716
</table></div>
 
717
</div>
 
718
<hr>
 
719
<div class="refsect2">
 
720
<a name="gnutls-openpgp-crt-get-key-id"></a><h3>gnutls_openpgp_crt_get_key_id ()</h3>
 
721
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_key_id       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
722
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);</pre>
 
723
<p>
 
724
Get key id string.
 
725
</p>
 
726
<div class="variablelist"><table border="0">
 
727
<col align="left" valign="top">
 
728
<tbody>
 
729
<tr>
 
730
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
731
<td>the structure that contains the OpenPGP public key.</td>
 
732
</tr>
 
733
<tr>
 
734
<td><p><span class="term"><em class="parameter"><code>keyid</code></em> :</span></p></td>
 
735
<td>the buffer to save the keyid.</td>
 
736
</tr>
 
737
<tr>
 
738
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
739
<td>the 64-bit keyID of the OpenPGP key.</td>
 
740
</tr>
 
741
</tbody>
 
742
</table></div>
 
743
<p class="since">Since 2.4.0</p>
 
744
</div>
 
745
<hr>
 
746
<div class="refsect2">
 
747
<a name="gnutls-openpgp-crt-check-hostname"></a><h3>gnutls_openpgp_crt_check_hostname ()</h3>
 
748
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_check_hostname   (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
749
                                                         <em class="parameter"><code>const <span class="type">char</span> *hostname</code></em>);</pre>
 
750
<p>
 
751
This function will check if the given key's owner matches the
 
752
given hostname. This is a basic implementation of the matching
 
753
described in RFC2818 (HTTPS), which takes into account wildcards.
 
754
</p>
 
755
<div class="variablelist"><table border="0">
 
756
<col align="left" valign="top">
 
757
<tbody>
 
758
<tr>
 
759
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
760
<td>should contain a <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> structure</td>
 
761
</tr>
 
762
<tr>
 
763
<td><p><span class="term"><em class="parameter"><code>hostname</code></em> :</span></p></td>
 
764
<td>A null terminated string that contains a DNS name</td>
 
765
</tr>
 
766
<tr>
 
767
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
768
<td>
 
769
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
770
</tr>
 
771
</tbody>
 
772
</table></div>
 
773
</div>
 
774
<hr>
 
775
<div class="refsect2">
 
776
<a name="gnutls-openpgp-crt-get-revoked-status"></a><h3>gnutls_openpgp_crt_get_revoked_status ()</h3>
 
777
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_revoked_status
 
778
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);</pre>
 
779
<p>
 
780
Get revocation status of key.
 
781
</p>
 
782
<div class="variablelist"><table border="0">
 
783
<col align="left" valign="top">
 
784
<tbody>
 
785
<tr>
 
786
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
787
<td>the structure that contains the OpenPGP public key.</td>
 
788
</tr>
 
789
<tr>
 
790
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
791
<td>true (1) if the key has been revoked, or false (0) if it
 
792
has not.</td>
 
793
</tr>
 
794
</tbody>
 
795
</table></div>
 
796
<p class="since">Since 2.4.0</p>
 
797
</div>
 
798
<hr>
 
799
<div class="refsect2">
 
800
<a name="gnutls-openpgp-crt-get-subkey-count"></a><h3>gnutls_openpgp_crt_get_subkey_count ()</h3>
 
801
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_subkey_count (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>);</pre>
 
802
<p>
 
803
This function will return the number of subkeys present in the
 
804
given OpenPGP certificate.
 
805
</p>
 
806
<div class="variablelist"><table border="0">
 
807
<col align="left" valign="top">
 
808
<tbody>
 
809
<tr>
 
810
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
811
<td>is an OpenPGP key</td>
 
812
</tr>
 
813
<tr>
 
814
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
815
<td>the number of subkeys, or a negative error code on error.</td>
 
816
</tr>
 
817
</tbody>
 
818
</table></div>
 
819
<p class="since">Since 2.4.0</p>
 
820
</div>
 
821
<hr>
 
822
<div class="refsect2">
 
823
<a name="gnutls-openpgp-crt-get-subkey-idx"></a><h3>gnutls_openpgp_crt_get_subkey_idx ()</h3>
 
824
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_subkey_idx   (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
825
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);</pre>
 
826
<p>
 
827
Get subkey's index.
 
828
</p>
 
829
<div class="variablelist"><table border="0">
 
830
<col align="left" valign="top">
 
831
<tbody>
 
832
<tr>
 
833
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
834
<td>the structure that contains the OpenPGP public key.</td>
 
835
</tr>
 
836
<tr>
 
837
<td><p><span class="term"><em class="parameter"><code>keyid</code></em> :</span></p></td>
 
838
<td>the keyid.</td>
 
839
</tr>
 
840
<tr>
 
841
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
842
<td>the index of the subkey or a negative error value.</td>
 
843
</tr>
 
844
</tbody>
 
845
</table></div>
 
846
<p class="since">Since 2.4.0</p>
 
847
</div>
 
848
<hr>
 
849
<div class="refsect2">
 
850
<a name="gnutls-openpgp-crt-get-subkey-revoked-status"></a><h3>gnutls_openpgp_crt_get_subkey_revoked_status ()</h3>
 
851
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_subkey_revoked_status
 
852
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
853
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);</pre>
 
854
<p>
 
855
Get subkey revocation status.  A negative error code indicates an error.
 
856
</p>
 
857
<div class="variablelist"><table border="0">
 
858
<col align="left" valign="top">
 
859
<tbody>
 
860
<tr>
 
861
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
862
<td>the structure that contains the OpenPGP public key.</td>
 
863
</tr>
 
864
<tr>
 
865
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
866
<td>is the subkey index</td>
 
867
</tr>
 
868
<tr>
 
869
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
870
<td>true (1) if the key has been revoked, or false (0) if it
 
871
has not.</td>
 
872
</tr>
 
873
</tbody>
 
874
</table></div>
 
875
<p class="since">Since 2.4.0</p>
 
876
</div>
 
877
<hr>
 
878
<div class="refsect2">
 
879
<a name="gnutls-openpgp-crt-get-subkey-pk-algorithm"></a><h3>gnutls_openpgp_crt_get_subkey_pk_algorithm ()</h3>
 
880
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a>  gnutls_openpgp_crt_get_subkey_pk_algorithm
 
881
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
882
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
883
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre>
 
884
<p>
 
885
This function will return the public key algorithm of a subkey of an OpenPGP
 
886
certificate.
 
887
</p>
 
888
<p>
 
889
If bits is non null, it should have enough size to hold the
 
890
parameters size in bits.  For RSA the bits returned is the modulus.
 
891
For DSA the bits returned are of the public exponent.
 
892
</p>
 
893
<div class="variablelist"><table border="0">
 
894
<col align="left" valign="top">
 
895
<tbody>
 
896
<tr>
 
897
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
898
<td>is an OpenPGP key</td>
 
899
</tr>
 
900
<tr>
 
901
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
902
<td>is the subkey index</td>
 
903
</tr>
 
904
<tr>
 
905
<td><p><span class="term"><em class="parameter"><code>bits</code></em> :</span></p></td>
 
906
<td>if bits is non null it will hold the size of the parameters' in bits</td>
 
907
</tr>
 
908
<tr>
 
909
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
910
<td>a member of the <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> enumeration on
 
911
success, or GNUTLS_PK_UNKNOWN on error.</td>
 
912
</tr>
 
913
</tbody>
 
914
</table></div>
 
915
<p class="since">Since 2.4.0</p>
 
916
</div>
 
917
<hr>
 
918
<div class="refsect2">
 
919
<a name="gnutls-openpgp-crt-get-subkey-creation-time"></a><h3>gnutls_openpgp_crt_get_subkey_creation_time ()</h3>
 
920
<pre class="programlisting"><span class="returnvalue">time_t</span>              gnutls_openpgp_crt_get_subkey_creation_time
 
921
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
922
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);</pre>
 
923
<p>
 
924
Get subkey creation time.
 
925
</p>
 
926
<div class="variablelist"><table border="0">
 
927
<col align="left" valign="top">
 
928
<tbody>
 
929
<tr>
 
930
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
931
<td>the structure that contains the OpenPGP public key.</td>
 
932
</tr>
 
933
<tr>
 
934
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
935
<td>the subkey index</td>
 
936
</tr>
 
937
<tr>
 
938
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
939
<td>the timestamp when the OpenPGP sub-key was created.</td>
 
940
</tr>
 
941
</tbody>
 
942
</table></div>
 
943
<p class="since">Since 2.4.0</p>
 
944
</div>
 
945
<hr>
 
946
<div class="refsect2">
 
947
<a name="gnutls-openpgp-crt-get-subkey-expiration-time"></a><h3>gnutls_openpgp_crt_get_subkey_expiration_time ()</h3>
 
948
<pre class="programlisting"><span class="returnvalue">time_t</span>              gnutls_openpgp_crt_get_subkey_expiration_time
 
949
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
950
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);</pre>
 
951
<p>
 
952
Get subkey expiration time.  A value of '0' means that the key
 
953
doesn't expire at all.
 
954
</p>
 
955
<div class="variablelist"><table border="0">
 
956
<col align="left" valign="top">
 
957
<tbody>
 
958
<tr>
 
959
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
960
<td>the structure that contains the OpenPGP public key.</td>
 
961
</tr>
 
962
<tr>
 
963
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
964
<td>the subkey index</td>
 
965
</tr>
 
966
<tr>
 
967
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
968
<td>the time when the OpenPGP key expires.</td>
 
969
</tr>
 
970
</tbody>
 
971
</table></div>
 
972
<p class="since">Since 2.4.0</p>
 
973
</div>
 
974
<hr>
 
975
<div class="refsect2">
 
976
<a name="gnutls-openpgp-crt-get-subkey-id"></a><h3>gnutls_openpgp_crt_get_subkey_id ()</h3>
 
977
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_subkey_id    (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
978
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
979
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);</pre>
 
980
<p>
 
981
Get the subkey's key-id.
 
982
</p>
 
983
<div class="variablelist"><table border="0">
 
984
<col align="left" valign="top">
 
985
<tbody>
 
986
<tr>
 
987
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
988
<td>the structure that contains the OpenPGP public key.</td>
 
989
</tr>
 
990
<tr>
 
991
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
992
<td>the subkey index</td>
 
993
</tr>
 
994
<tr>
 
995
<td><p><span class="term"><em class="parameter"><code>keyid</code></em> :</span></p></td>
 
996
<td>the buffer to save the keyid.</td>
 
997
</tr>
 
998
<tr>
 
999
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1000
<td>the 64-bit keyID of the OpenPGP key.</td>
 
1001
</tr>
 
1002
</tbody>
 
1003
</table></div>
 
1004
</div>
 
1005
<hr>
 
1006
<div class="refsect2">
 
1007
<a name="gnutls-openpgp-crt-get-subkey-usage"></a><h3>gnutls_openpgp_crt_get_subkey_usage ()</h3>
 
1008
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_subkey_usage (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
1009
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
1010
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *key_usage</code></em>);</pre>
 
1011
<p>
 
1012
This function will return certificate's key usage, by checking the
 
1013
key algorithm.  The key usage value will ORed values of
 
1014
<a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-DIGITAL-SIGNATURE:CAPS" title="GNUTLS_KEY_DIGITAL_SIGNATURE"><code class="literal">GNUTLS_KEY_DIGITAL_SIGNATURE</code></a> or <a class="link" href="gnutls-gnutls.html#GNUTLS-KEY-KEY-ENCIPHERMENT:CAPS" title="GNUTLS_KEY_KEY_ENCIPHERMENT"><code class="literal">GNUTLS_KEY_KEY_ENCIPHERMENT</code></a>.
 
1015
</p>
 
1016
<p>
 
1017
A negative error code may be returned in case of parsing error.
 
1018
</p>
 
1019
<div class="variablelist"><table border="0">
 
1020
<col align="left" valign="top">
 
1021
<tbody>
 
1022
<tr>
 
1023
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1024
<td>should contain a gnutls_openpgp_crt_t structure</td>
 
1025
</tr>
 
1026
<tr>
 
1027
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
1028
<td>the subkey index</td>
 
1029
</tr>
 
1030
<tr>
 
1031
<td><p><span class="term"><em class="parameter"><code>key_usage</code></em> :</span></p></td>
 
1032
<td>where the key usage bits will be stored</td>
 
1033
</tr>
 
1034
<tr>
 
1035
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1036
<td>key usage value.</td>
 
1037
</tr>
 
1038
</tbody>
 
1039
</table></div>
 
1040
<p class="since">Since 2.4.0</p>
 
1041
</div>
 
1042
<hr>
 
1043
<div class="refsect2">
 
1044
<a name="gnutls-openpgp-crt-get-subkey-pk-dsa-raw"></a><h3>gnutls_openpgp_crt_get_subkey_pk_dsa_raw ()</h3>
 
1045
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_subkey_pk_dsa_raw
 
1046
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>,
 
1047
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
1048
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
1049
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
1050
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *g</code></em>,
 
1051
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *y</code></em>);</pre>
 
1052
<p>
 
1053
This function will export the DSA public key's parameters found in
 
1054
the given certificate.  The new parameters will be allocated using
 
1055
<a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a> and will be stored in the appropriate datum.
 
1056
</p>
 
1057
<div class="variablelist"><table border="0">
 
1058
<col align="left" valign="top">
 
1059
<tbody>
 
1060
<tr>
 
1061
<td><p><span class="term"><em class="parameter"><code>crt</code></em> :</span></p></td>
 
1062
<td>Holds the certificate</td>
 
1063
</tr>
 
1064
<tr>
 
1065
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
1066
<td>Is the subkey index</td>
 
1067
</tr>
 
1068
<tr>
 
1069
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
 
1070
<td>will hold the p</td>
 
1071
</tr>
 
1072
<tr>
 
1073
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
 
1074
<td>will hold the q</td>
 
1075
</tr>
 
1076
<tr>
 
1077
<td><p><span class="term"><em class="parameter"><code>g</code></em> :</span></p></td>
 
1078
<td>will hold the g</td>
 
1079
</tr>
 
1080
<tr>
 
1081
<td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
 
1082
<td>will hold the y</td>
 
1083
</tr>
 
1084
<tr>
 
1085
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1086
<td>
 
1087
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</td>
 
1088
</tr>
 
1089
</tbody>
 
1090
</table></div>
 
1091
<p class="since">Since 2.4.0</p>
 
1092
</div>
 
1093
<hr>
 
1094
<div class="refsect2">
 
1095
<a name="gnutls-openpgp-crt-get-subkey-pk-rsa-raw"></a><h3>gnutls_openpgp_crt_get_subkey_pk_rsa_raw ()</h3>
 
1096
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_subkey_pk_rsa_raw
 
1097
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>,
 
1098
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
1099
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *m</code></em>,
 
1100
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *e</code></em>);</pre>
 
1101
<p>
 
1102
This function will export the RSA public key's parameters found in
 
1103
the given structure.  The new parameters will be allocated using
 
1104
<a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a> and will be stored in the appropriate datum.
 
1105
</p>
 
1106
<div class="variablelist"><table border="0">
 
1107
<col align="left" valign="top">
 
1108
<tbody>
 
1109
<tr>
 
1110
<td><p><span class="term"><em class="parameter"><code>crt</code></em> :</span></p></td>
 
1111
<td>Holds the certificate</td>
 
1112
</tr>
 
1113
<tr>
 
1114
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
1115
<td>Is the subkey index</td>
 
1116
</tr>
 
1117
<tr>
 
1118
<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
 
1119
<td>will hold the modulus</td>
 
1120
</tr>
 
1121
<tr>
 
1122
<td><p><span class="term"><em class="parameter"><code>e</code></em> :</span></p></td>
 
1123
<td>will hold the public exponent</td>
 
1124
</tr>
 
1125
<tr>
 
1126
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1127
<td>
 
1128
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</td>
 
1129
</tr>
 
1130
</tbody>
 
1131
</table></div>
 
1132
<p class="since">Since 2.4.0</p>
 
1133
</div>
 
1134
<hr>
 
1135
<div class="refsect2">
 
1136
<a name="gnutls-openpgp-crt-get-pk-dsa-raw"></a><h3>gnutls_openpgp_crt_get_pk_dsa_raw ()</h3>
 
1137
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_pk_dsa_raw   (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>,
 
1138
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
1139
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
1140
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *g</code></em>,
 
1141
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *y</code></em>);</pre>
 
1142
<p>
 
1143
This function will export the DSA public key's parameters found in
 
1144
the given certificate.  The new parameters will be allocated using
 
1145
<a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a> and will be stored in the appropriate datum.
 
1146
</p>
 
1147
<div class="variablelist"><table border="0">
 
1148
<col align="left" valign="top">
 
1149
<tbody>
 
1150
<tr>
 
1151
<td><p><span class="term"><em class="parameter"><code>crt</code></em> :</span></p></td>
 
1152
<td>Holds the certificate</td>
 
1153
</tr>
 
1154
<tr>
 
1155
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
 
1156
<td>will hold the p</td>
 
1157
</tr>
 
1158
<tr>
 
1159
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
 
1160
<td>will hold the q</td>
 
1161
</tr>
 
1162
<tr>
 
1163
<td><p><span class="term"><em class="parameter"><code>g</code></em> :</span></p></td>
 
1164
<td>will hold the g</td>
 
1165
</tr>
 
1166
<tr>
 
1167
<td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
 
1168
<td>will hold the y</td>
 
1169
</tr>
 
1170
<tr>
 
1171
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1172
<td>
 
1173
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</td>
 
1174
</tr>
 
1175
</tbody>
 
1176
</table></div>
 
1177
<p class="since">Since 2.4.0</p>
 
1178
</div>
 
1179
<hr>
 
1180
<div class="refsect2">
 
1181
<a name="gnutls-openpgp-crt-get-pk-rsa-raw"></a><h3>gnutls_openpgp_crt_get_pk_rsa_raw ()</h3>
 
1182
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_pk_rsa_raw   (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>,
 
1183
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *m</code></em>,
 
1184
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *e</code></em>);</pre>
 
1185
<p>
 
1186
This function will export the RSA public key's parameters found in
 
1187
the given structure.  The new parameters will be allocated using
 
1188
<a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a> and will be stored in the appropriate datum.
 
1189
</p>
 
1190
<div class="variablelist"><table border="0">
 
1191
<col align="left" valign="top">
 
1192
<tbody>
 
1193
<tr>
 
1194
<td><p><span class="term"><em class="parameter"><code>crt</code></em> :</span></p></td>
 
1195
<td>Holds the certificate</td>
 
1196
</tr>
 
1197
<tr>
 
1198
<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
 
1199
<td>will hold the modulus</td>
 
1200
</tr>
 
1201
<tr>
 
1202
<td><p><span class="term"><em class="parameter"><code>e</code></em> :</span></p></td>
 
1203
<td>will hold the public exponent</td>
 
1204
</tr>
 
1205
<tr>
 
1206
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1207
<td>
 
1208
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</td>
 
1209
</tr>
 
1210
</tbody>
 
1211
</table></div>
 
1212
<p class="since">Since 2.4.0</p>
 
1213
</div>
 
1214
<hr>
 
1215
<div class="refsect2">
 
1216
<a name="gnutls-openpgp-crt-get-preferred-key-id"></a><h3>gnutls_openpgp_crt_get_preferred_key_id ()</h3>
 
1217
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_preferred_key_id
 
1218
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
1219
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);</pre>
 
1220
<p>
 
1221
Get preferred key id.  If it hasn't been set it returns
 
1222
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>.
 
1223
</p>
 
1224
<div class="variablelist"><table border="0">
 
1225
<col align="left" valign="top">
 
1226
<tbody>
 
1227
<tr>
 
1228
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1229
<td>the structure that contains the OpenPGP public key.</td>
 
1230
</tr>
 
1231
<tr>
 
1232
<td><p><span class="term"><em class="parameter"><code>keyid</code></em> :</span></p></td>
 
1233
<td>the struct to save the keyid.</td>
 
1234
</tr>
 
1235
<tr>
 
1236
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1237
<td>the 64-bit preferred keyID of the OpenPGP key.</td>
 
1238
</tr>
 
1239
</tbody>
 
1240
</table></div>
 
1241
</div>
 
1242
<hr>
 
1243
<div class="refsect2">
 
1244
<a name="gnutls-openpgp-crt-set-preferred-key-id"></a><h3>gnutls_openpgp_crt_set_preferred_key_id ()</h3>
 
1245
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_set_preferred_key_id
 
1246
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
1247
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);</pre>
 
1248
<p>
 
1249
This allows setting a preferred key id for the given certificate.
 
1250
This key will be used by functions that involve key handling.
 
1251
</p>
 
1252
<div class="variablelist"><table border="0">
 
1253
<col align="left" valign="top">
 
1254
<tbody>
 
1255
<tr>
 
1256
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1257
<td>the structure that contains the OpenPGP public key.</td>
 
1258
</tr>
 
1259
<tr>
 
1260
<td><p><span class="term"><em class="parameter"><code>keyid</code></em> :</span></p></td>
 
1261
<td>the selected keyid</td>
 
1262
</tr>
 
1263
<tr>
 
1264
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1265
<td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned,
 
1266
otherwise a negative error code is returned.</td>
 
1267
</tr>
 
1268
</tbody>
 
1269
</table></div>
 
1270
</div>
 
1271
<hr>
 
1272
<div class="refsect2">
 
1273
<a name="gnutls-openpgp-privkey-init"></a><h3>gnutls_openpgp_privkey_init ()</h3>
 
1274
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_init         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> *key</code></em>);</pre>
 
1275
<p>
 
1276
This function will initialize an OpenPGP key structure.
 
1277
</p>
 
1278
<div class="variablelist"><table border="0">
 
1279
<col align="left" valign="top">
 
1280
<tbody>
 
1281
<tr>
 
1282
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1283
<td>The structure to be initialized</td>
 
1284
</tr>
 
1285
<tr>
 
1286
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1287
<td>
 
1288
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
1289
</tr>
 
1290
</tbody>
 
1291
</table></div>
 
1292
</div>
 
1293
<hr>
 
1294
<div class="refsect2">
 
1295
<a name="gnutls-openpgp-privkey-deinit"></a><h3>gnutls_openpgp_privkey_deinit ()</h3>
 
1296
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_openpgp_privkey_deinit       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>);</pre>
 
1297
<p>
 
1298
This function will deinitialize a key structure.
 
1299
</p>
 
1300
<div class="variablelist"><table border="0">
 
1301
<col align="left" valign="top">
 
1302
<tbody><tr>
 
1303
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1304
<td>The structure to be initialized</td>
 
1305
</tr></tbody>
 
1306
</table></div>
 
1307
</div>
 
1308
<hr>
 
1309
<div class="refsect2">
 
1310
<a name="gnutls-openpgp-privkey-get-pk-algorithm"></a><h3>gnutls_openpgp_privkey_get_pk_algorithm ()</h3>
 
1311
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a>  gnutls_openpgp_privkey_get_pk_algorithm
 
1312
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
1313
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre>
 
1314
<p>
 
1315
This function will return the public key algorithm of an OpenPGP
 
1316
certificate.
 
1317
</p>
 
1318
<p>
 
1319
If bits is non null, it should have enough size to hold the parameters
 
1320
size in bits. For RSA the bits returned is the modulus.
 
1321
For DSA the bits returned are of the public exponent.
 
1322
</p>
 
1323
<div class="variablelist"><table border="0">
 
1324
<col align="left" valign="top">
 
1325
<tbody>
 
1326
<tr>
 
1327
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1328
<td>is an OpenPGP key</td>
 
1329
</tr>
 
1330
<tr>
 
1331
<td><p><span class="term"><em class="parameter"><code>bits</code></em> :</span></p></td>
 
1332
<td>if bits is non null it will hold the size of the parameters' in bits</td>
 
1333
</tr>
 
1334
<tr>
 
1335
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1336
<td>a member of the <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> enumeration on
 
1337
success, or a negative error code on error.</td>
 
1338
</tr>
 
1339
</tbody>
 
1340
</table></div>
 
1341
<p class="since">Since 2.4.0</p>
 
1342
</div>
 
1343
<hr>
 
1344
<div class="refsect2">
 
1345
<a name="gnutls-openpgp-privkey-import"></a><h3>gnutls_openpgp_privkey_import ()</h3>
 
1346
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_import       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
1347
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
1348
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>,
 
1349
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
 
1350
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre>
 
1351
<p>
 
1352
This function will convert the given RAW or Base64 encoded key to
 
1353
the native gnutls_openpgp_privkey_t format.  The output will be
 
1354
stored in 'key'.
 
1355
</p>
 
1356
<div class="variablelist"><table border="0">
 
1357
<col align="left" valign="top">
 
1358
<tbody>
 
1359
<tr>
 
1360
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1361
<td>The structure to store the parsed key.</td>
 
1362
</tr>
 
1363
<tr>
 
1364
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
 
1365
<td>The RAW or BASE64 encoded key.</td>
 
1366
</tr>
 
1367
<tr>
 
1368
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
 
1369
<td>One of <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> elements.</td>
 
1370
</tr>
 
1371
<tr>
 
1372
<td><p><span class="term"><em class="parameter"><code>password</code></em> :</span></p></td>
 
1373
<td>not used for now</td>
 
1374
</tr>
 
1375
<tr>
 
1376
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
 
1377
<td>should be (0)</td>
 
1378
</tr>
 
1379
<tr>
 
1380
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1381
<td>
 
1382
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
1383
</tr>
 
1384
</tbody>
 
1385
</table></div>
 
1386
</div>
 
1387
<hr>
 
1388
<div class="refsect2">
 
1389
<a name="gnutls-openpgp-privkey-get-fingerprint"></a><h3>gnutls_openpgp_privkey_get_fingerprint ()</h3>
 
1390
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_get_fingerprint
 
1391
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
1392
                                                         <em class="parameter"><code><span class="type">void</span> *fpr</code></em>,
 
1393
                                                         <em class="parameter"><code><span class="type">size_t</span> *fprlen</code></em>);</pre>
 
1394
<p>
 
1395
Get the fingerprint of the OpenPGP key. Depends on the
 
1396
algorithm, the fingerprint can be 16 or 20 bytes.
 
1397
</p>
 
1398
<div class="variablelist"><table border="0">
 
1399
<col align="left" valign="top">
 
1400
<tbody>
 
1401
<tr>
 
1402
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1403
<td>the raw data that contains the OpenPGP secret key.</td>
 
1404
</tr>
 
1405
<tr>
 
1406
<td><p><span class="term"><em class="parameter"><code>fpr</code></em> :</span></p></td>
 
1407
<td>the buffer to save the fingerprint, must hold at least 20 bytes.</td>
 
1408
</tr>
 
1409
<tr>
 
1410
<td><p><span class="term"><em class="parameter"><code>fprlen</code></em> :</span></p></td>
 
1411
<td>the integer to save the length of the fingerprint.</td>
 
1412
</tr>
 
1413
<tr>
 
1414
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1415
<td>On success, 0 is returned, or an error code.</td>
 
1416
</tr>
 
1417
</tbody>
 
1418
</table></div>
 
1419
<p class="since">Since 2.4.0</p>
 
1420
</div>
 
1421
<hr>
 
1422
<div class="refsect2">
 
1423
<a name="gnutls-openpgp-privkey-get-subkey-fingerprint"></a><h3>gnutls_openpgp_privkey_get_subkey_fingerprint ()</h3>
 
1424
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_get_subkey_fingerprint
 
1425
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
1426
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
1427
                                                         <em class="parameter"><code><span class="type">void</span> *fpr</code></em>,
 
1428
                                                         <em class="parameter"><code><span class="type">size_t</span> *fprlen</code></em>);</pre>
 
1429
<p>
 
1430
Get the fingerprint of an OpenPGP subkey.  Depends on the
 
1431
algorithm, the fingerprint can be 16 or 20 bytes.
 
1432
</p>
 
1433
<div class="variablelist"><table border="0">
 
1434
<col align="left" valign="top">
 
1435
<tbody>
 
1436
<tr>
 
1437
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1438
<td>the raw data that contains the OpenPGP secret key.</td>
 
1439
</tr>
 
1440
<tr>
 
1441
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
1442
<td>the subkey index</td>
 
1443
</tr>
 
1444
<tr>
 
1445
<td><p><span class="term"><em class="parameter"><code>fpr</code></em> :</span></p></td>
 
1446
<td>the buffer to save the fingerprint, must hold at least 20 bytes.</td>
 
1447
</tr>
 
1448
<tr>
 
1449
<td><p><span class="term"><em class="parameter"><code>fprlen</code></em> :</span></p></td>
 
1450
<td>the integer to save the length of the fingerprint.</td>
 
1451
</tr>
 
1452
<tr>
 
1453
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1454
<td>On success, 0 is returned, or an error code.</td>
 
1455
</tr>
 
1456
</tbody>
 
1457
</table></div>
 
1458
<p class="since">Since 2.4.0</p>
 
1459
</div>
 
1460
<hr>
 
1461
<div class="refsect2">
 
1462
<a name="gnutls-openpgp-privkey-get-key-id"></a><h3>gnutls_openpgp_privkey_get_key_id ()</h3>
 
1463
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_get_key_id   (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
1464
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);</pre>
 
1465
<p>
 
1466
Get key-id.
 
1467
</p>
 
1468
<div class="variablelist"><table border="0">
 
1469
<col align="left" valign="top">
 
1470
<tbody>
 
1471
<tr>
 
1472
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1473
<td>the structure that contains the OpenPGP secret key.</td>
 
1474
</tr>
 
1475
<tr>
 
1476
<td><p><span class="term"><em class="parameter"><code>keyid</code></em> :</span></p></td>
 
1477
<td>the buffer to save the keyid.</td>
 
1478
</tr>
 
1479
<tr>
 
1480
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1481
<td>the 64-bit keyID of the OpenPGP key.</td>
 
1482
</tr>
 
1483
</tbody>
 
1484
</table></div>
 
1485
<p class="since">Since 2.4.0</p>
 
1486
</div>
 
1487
<hr>
 
1488
<div class="refsect2">
 
1489
<a name="gnutls-openpgp-privkey-get-subkey-count"></a><h3>gnutls_openpgp_privkey_get_subkey_count ()</h3>
 
1490
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_get_subkey_count
 
1491
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>);</pre>
 
1492
<p>
 
1493
This function will return the number of subkeys present in the
 
1494
given OpenPGP certificate.
 
1495
</p>
 
1496
<div class="variablelist"><table border="0">
 
1497
<col align="left" valign="top">
 
1498
<tbody>
 
1499
<tr>
 
1500
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1501
<td>is an OpenPGP key</td>
 
1502
</tr>
 
1503
<tr>
 
1504
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1505
<td>the number of subkeys, or a negative error code on error.</td>
 
1506
</tr>
 
1507
</tbody>
 
1508
</table></div>
 
1509
<p class="since">Since 2.4.0</p>
 
1510
</div>
 
1511
<hr>
 
1512
<div class="refsect2">
 
1513
<a name="gnutls-openpgp-privkey-get-subkey-idx"></a><h3>gnutls_openpgp_privkey_get_subkey_idx ()</h3>
 
1514
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_get_subkey_idx
 
1515
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
1516
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);</pre>
 
1517
<p>
 
1518
Get index of subkey.
 
1519
</p>
 
1520
<div class="variablelist"><table border="0">
 
1521
<col align="left" valign="top">
 
1522
<tbody>
 
1523
<tr>
 
1524
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1525
<td>the structure that contains the OpenPGP private key.</td>
 
1526
</tr>
 
1527
<tr>
 
1528
<td><p><span class="term"><em class="parameter"><code>keyid</code></em> :</span></p></td>
 
1529
<td>the keyid.</td>
 
1530
</tr>
 
1531
<tr>
 
1532
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1533
<td>the index of the subkey or a negative error value.</td>
 
1534
</tr>
 
1535
</tbody>
 
1536
</table></div>
 
1537
<p class="since">Since 2.4.0</p>
 
1538
</div>
 
1539
<hr>
 
1540
<div class="refsect2">
 
1541
<a name="gnutls-openpgp-privkey-get-subkey-revoked-status"></a><h3>gnutls_openpgp_privkey_get_subkey_revoked_status ()</h3>
 
1542
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_get_subkey_revoked_status
 
1543
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
1544
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);</pre>
 
1545
<p>
 
1546
Get revocation status of key.
 
1547
</p>
 
1548
<div class="variablelist"><table border="0">
 
1549
<col align="left" valign="top">
 
1550
<tbody>
 
1551
<tr>
 
1552
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1553
<td>the structure that contains the OpenPGP private key.</td>
 
1554
</tr>
 
1555
<tr>
 
1556
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
1557
<td>is the subkey index</td>
 
1558
</tr>
 
1559
<tr>
 
1560
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1561
<td>true (1) if the key has been revoked, or false (0) if it
 
1562
has not, or a negative error code indicates an error.</td>
 
1563
</tr>
 
1564
</tbody>
 
1565
</table></div>
 
1566
<p class="since">Since 2.4.0</p>
 
1567
</div>
 
1568
<hr>
 
1569
<div class="refsect2">
 
1570
<a name="gnutls-openpgp-privkey-get-revoked-status"></a><h3>gnutls_openpgp_privkey_get_revoked_status ()</h3>
 
1571
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_get_revoked_status
 
1572
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>);</pre>
 
1573
<p>
 
1574
Get revocation status of key.
 
1575
</p>
 
1576
<div class="variablelist"><table border="0">
 
1577
<col align="left" valign="top">
 
1578
<tbody>
 
1579
<tr>
 
1580
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1581
<td>the structure that contains the OpenPGP private key.</td>
 
1582
</tr>
 
1583
<tr>
 
1584
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1585
<td>true (1) if the key has been revoked, or false (0) if it
 
1586
has not, or a negative error code indicates an error.</td>
 
1587
</tr>
 
1588
</tbody>
 
1589
</table></div>
 
1590
<p class="since">Since 2.4.0</p>
 
1591
</div>
 
1592
<hr>
 
1593
<div class="refsect2">
 
1594
<a name="gnutls-openpgp-privkey-get-subkey-pk-algorithm"></a><h3>gnutls_openpgp_privkey_get_subkey_pk_algorithm ()</h3>
 
1595
<pre class="programlisting"><a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="returnvalue">gnutls_pk_algorithm_t</span></a>  gnutls_openpgp_privkey_get_subkey_pk_algorithm
 
1596
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
1597
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
1598
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *bits</code></em>);</pre>
 
1599
<p>
 
1600
This function will return the public key algorithm of a subkey of an OpenPGP
 
1601
certificate.
 
1602
</p>
 
1603
<p>
 
1604
If bits is non null, it should have enough size to hold the parameters
 
1605
size in bits. For RSA the bits returned is the modulus.
 
1606
For DSA the bits returned are of the public exponent.
 
1607
</p>
 
1608
<div class="variablelist"><table border="0">
 
1609
<col align="left" valign="top">
 
1610
<tbody>
 
1611
<tr>
 
1612
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1613
<td>is an OpenPGP key</td>
 
1614
</tr>
 
1615
<tr>
 
1616
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
1617
<td>is the subkey index</td>
 
1618
</tr>
 
1619
<tr>
 
1620
<td><p><span class="term"><em class="parameter"><code>bits</code></em> :</span></p></td>
 
1621
<td>if bits is non null it will hold the size of the parameters' in bits</td>
 
1622
</tr>
 
1623
<tr>
 
1624
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1625
<td>a member of the <a class="link" href="gnutls-gnutls.html#gnutls-pk-algorithm-t" title="enum gnutls_pk_algorithm_t"><span class="type">gnutls_pk_algorithm_t</span></a> enumeration on
 
1626
success, or a negative error code on error.</td>
 
1627
</tr>
 
1628
</tbody>
 
1629
</table></div>
 
1630
<p class="since">Since 2.4.0</p>
 
1631
</div>
 
1632
<hr>
 
1633
<div class="refsect2">
 
1634
<a name="gnutls-openpgp-privkey-get-subkey-expiration-time"></a><h3>gnutls_openpgp_privkey_get_subkey_expiration_time ()</h3>
 
1635
<pre class="programlisting"><span class="returnvalue">time_t</span>              gnutls_openpgp_privkey_get_subkey_expiration_time
 
1636
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
1637
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);</pre>
 
1638
<p>
 
1639
Get subkey expiration time.  A value of '0' means that the key
 
1640
doesn't expire at all.
 
1641
</p>
 
1642
<div class="variablelist"><table border="0">
 
1643
<col align="left" valign="top">
 
1644
<tbody>
 
1645
<tr>
 
1646
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1647
<td>the structure that contains the OpenPGP private key.</td>
 
1648
</tr>
 
1649
<tr>
 
1650
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
1651
<td>the subkey index</td>
 
1652
</tr>
 
1653
<tr>
 
1654
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1655
<td>the time when the OpenPGP key expires.</td>
 
1656
</tr>
 
1657
</tbody>
 
1658
</table></div>
 
1659
<p class="since">Since 2.4.0</p>
 
1660
</div>
 
1661
<hr>
 
1662
<div class="refsect2">
 
1663
<a name="gnutls-openpgp-privkey-get-subkey-id"></a><h3>gnutls_openpgp_privkey_get_subkey_id ()</h3>
 
1664
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_get_subkey_id
 
1665
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
1666
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
1667
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);</pre>
 
1668
<p>
 
1669
Get the key-id for the subkey.
 
1670
</p>
 
1671
<div class="variablelist"><table border="0">
 
1672
<col align="left" valign="top">
 
1673
<tbody>
 
1674
<tr>
 
1675
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1676
<td>the structure that contains the OpenPGP secret key.</td>
 
1677
</tr>
 
1678
<tr>
 
1679
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
1680
<td>the subkey index</td>
 
1681
</tr>
 
1682
<tr>
 
1683
<td><p><span class="term"><em class="parameter"><code>keyid</code></em> :</span></p></td>
 
1684
<td>the buffer to save the keyid.</td>
 
1685
</tr>
 
1686
<tr>
 
1687
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1688
<td>the 64-bit keyID of the OpenPGP key.</td>
 
1689
</tr>
 
1690
</tbody>
 
1691
</table></div>
 
1692
<p class="since">Since 2.4.0</p>
 
1693
</div>
 
1694
<hr>
 
1695
<div class="refsect2">
 
1696
<a name="gnutls-openpgp-privkey-get-subkey-creation-time"></a><h3>gnutls_openpgp_privkey_get_subkey_creation_time ()</h3>
 
1697
<pre class="programlisting"><span class="returnvalue">time_t</span>              gnutls_openpgp_privkey_get_subkey_creation_time
 
1698
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
1699
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>);</pre>
 
1700
<p>
 
1701
Get subkey creation time.
 
1702
</p>
 
1703
<div class="variablelist"><table border="0">
 
1704
<col align="left" valign="top">
 
1705
<tbody>
 
1706
<tr>
 
1707
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1708
<td>the structure that contains the OpenPGP private key.</td>
 
1709
</tr>
 
1710
<tr>
 
1711
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
1712
<td>the subkey index</td>
 
1713
</tr>
 
1714
<tr>
 
1715
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1716
<td>the timestamp when the OpenPGP key was created.</td>
 
1717
</tr>
 
1718
</tbody>
 
1719
</table></div>
 
1720
<p class="since">Since 2.4.0</p>
 
1721
</div>
 
1722
<hr>
 
1723
<div class="refsect2">
 
1724
<a name="gnutls-openpgp-privkey-export-subkey-dsa-raw"></a><h3>gnutls_openpgp_privkey_export_subkey_dsa_raw ()</h3>
 
1725
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_export_subkey_dsa_raw
 
1726
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>,
 
1727
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
1728
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
1729
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
1730
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *g</code></em>,
 
1731
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *y</code></em>,
 
1732
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *x</code></em>);</pre>
 
1733
<p>
 
1734
This function will export the DSA private key's parameters found
 
1735
in the given certificate.  The new parameters will be allocated
 
1736
using <a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a> and will be stored in the appropriate datum.
 
1737
</p>
 
1738
<div class="variablelist"><table border="0">
 
1739
<col align="left" valign="top">
 
1740
<tbody>
 
1741
<tr>
 
1742
<td><p><span class="term"><em class="parameter"><code>pkey</code></em> :</span></p></td>
 
1743
<td>Holds the certificate</td>
 
1744
</tr>
 
1745
<tr>
 
1746
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
1747
<td>Is the subkey index</td>
 
1748
</tr>
 
1749
<tr>
 
1750
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
 
1751
<td>will hold the p</td>
 
1752
</tr>
 
1753
<tr>
 
1754
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
 
1755
<td>will hold the q</td>
 
1756
</tr>
 
1757
<tr>
 
1758
<td><p><span class="term"><em class="parameter"><code>g</code></em> :</span></p></td>
 
1759
<td>will hold the g</td>
 
1760
</tr>
 
1761
<tr>
 
1762
<td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
 
1763
<td>will hold the y</td>
 
1764
</tr>
 
1765
<tr>
 
1766
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
 
1767
<td>will hold the x</td>
 
1768
</tr>
 
1769
<tr>
 
1770
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1771
<td>
 
1772
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</td>
 
1773
</tr>
 
1774
</tbody>
 
1775
</table></div>
 
1776
<p class="since">Since 2.4.0</p>
 
1777
</div>
 
1778
<hr>
 
1779
<div class="refsect2">
 
1780
<a name="gnutls-openpgp-privkey-export-subkey-rsa-raw"></a><h3>gnutls_openpgp_privkey_export_subkey_rsa_raw ()</h3>
 
1781
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_export_subkey_rsa_raw
 
1782
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>,
 
1783
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
1784
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *m</code></em>,
 
1785
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *e</code></em>,
 
1786
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *d</code></em>,
 
1787
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
1788
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
1789
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *u</code></em>);</pre>
 
1790
<p>
 
1791
This function will export the RSA private key's parameters found in
 
1792
the given structure.  The new parameters will be allocated using
 
1793
<a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a> and will be stored in the appropriate datum.
 
1794
</p>
 
1795
<div class="variablelist"><table border="0">
 
1796
<col align="left" valign="top">
 
1797
<tbody>
 
1798
<tr>
 
1799
<td><p><span class="term"><em class="parameter"><code>pkey</code></em> :</span></p></td>
 
1800
<td>Holds the certificate</td>
 
1801
</tr>
 
1802
<tr>
 
1803
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
1804
<td>Is the subkey index</td>
 
1805
</tr>
 
1806
<tr>
 
1807
<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
 
1808
<td>will hold the modulus</td>
 
1809
</tr>
 
1810
<tr>
 
1811
<td><p><span class="term"><em class="parameter"><code>e</code></em> :</span></p></td>
 
1812
<td>will hold the public exponent</td>
 
1813
</tr>
 
1814
<tr>
 
1815
<td><p><span class="term"><em class="parameter"><code>d</code></em> :</span></p></td>
 
1816
<td>will hold the private exponent</td>
 
1817
</tr>
 
1818
<tr>
 
1819
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
 
1820
<td>will hold the first prime (p)</td>
 
1821
</tr>
 
1822
<tr>
 
1823
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
 
1824
<td>will hold the second prime (q)</td>
 
1825
</tr>
 
1826
<tr>
 
1827
<td><p><span class="term"><em class="parameter"><code>u</code></em> :</span></p></td>
 
1828
<td>will hold the coefficient</td>
 
1829
</tr>
 
1830
<tr>
 
1831
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1832
<td>
 
1833
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</td>
 
1834
</tr>
 
1835
</tbody>
 
1836
</table></div>
 
1837
<p class="since">Since 2.4.0</p>
 
1838
</div>
 
1839
<hr>
 
1840
<div class="refsect2">
 
1841
<a name="gnutls-openpgp-privkey-export-dsa-raw"></a><h3>gnutls_openpgp_privkey_export_dsa_raw ()</h3>
 
1842
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_export_dsa_raw
 
1843
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>,
 
1844
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
1845
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
1846
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *g</code></em>,
 
1847
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *y</code></em>,
 
1848
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *x</code></em>);</pre>
 
1849
<p>
 
1850
This function will export the DSA private key's parameters found in
 
1851
the given certificate.  The new parameters will be allocated using
 
1852
<a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a> and will be stored in the appropriate datum.
 
1853
</p>
 
1854
<div class="variablelist"><table border="0">
 
1855
<col align="left" valign="top">
 
1856
<tbody>
 
1857
<tr>
 
1858
<td><p><span class="term"><em class="parameter"><code>pkey</code></em> :</span></p></td>
 
1859
<td>Holds the certificate</td>
 
1860
</tr>
 
1861
<tr>
 
1862
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
 
1863
<td>will hold the p</td>
 
1864
</tr>
 
1865
<tr>
 
1866
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
 
1867
<td>will hold the q</td>
 
1868
</tr>
 
1869
<tr>
 
1870
<td><p><span class="term"><em class="parameter"><code>g</code></em> :</span></p></td>
 
1871
<td>will hold the g</td>
 
1872
</tr>
 
1873
<tr>
 
1874
<td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
 
1875
<td>will hold the y</td>
 
1876
</tr>
 
1877
<tr>
 
1878
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
 
1879
<td>will hold the x</td>
 
1880
</tr>
 
1881
<tr>
 
1882
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1883
<td>
 
1884
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</td>
 
1885
</tr>
 
1886
</tbody>
 
1887
</table></div>
 
1888
<p class="since">Since 2.4.0</p>
 
1889
</div>
 
1890
<hr>
 
1891
<div class="refsect2">
 
1892
<a name="gnutls-openpgp-privkey-export-rsa-raw"></a><h3>gnutls_openpgp_privkey_export_rsa_raw ()</h3>
 
1893
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_export_rsa_raw
 
1894
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>,
 
1895
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *m</code></em>,
 
1896
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *e</code></em>,
 
1897
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *d</code></em>,
 
1898
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *p</code></em>,
 
1899
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *q</code></em>,
 
1900
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *u</code></em>);</pre>
 
1901
<p>
 
1902
This function will export the RSA private key's parameters found in
 
1903
the given structure.  The new parameters will be allocated using
 
1904
<a class="link" href="gnutls-gnutls.html#gnutls-malloc" title="gnutls_malloc"><code class="function">gnutls_malloc()</code></a> and will be stored in the appropriate datum.
 
1905
</p>
 
1906
<div class="variablelist"><table border="0">
 
1907
<col align="left" valign="top">
 
1908
<tbody>
 
1909
<tr>
 
1910
<td><p><span class="term"><em class="parameter"><code>pkey</code></em> :</span></p></td>
 
1911
<td>Holds the certificate</td>
 
1912
</tr>
 
1913
<tr>
 
1914
<td><p><span class="term"><em class="parameter"><code>m</code></em> :</span></p></td>
 
1915
<td>will hold the modulus</td>
 
1916
</tr>
 
1917
<tr>
 
1918
<td><p><span class="term"><em class="parameter"><code>e</code></em> :</span></p></td>
 
1919
<td>will hold the public exponent</td>
 
1920
</tr>
 
1921
<tr>
 
1922
<td><p><span class="term"><em class="parameter"><code>d</code></em> :</span></p></td>
 
1923
<td>will hold the private exponent</td>
 
1924
</tr>
 
1925
<tr>
 
1926
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
 
1927
<td>will hold the first prime (p)</td>
 
1928
</tr>
 
1929
<tr>
 
1930
<td><p><span class="term"><em class="parameter"><code>q</code></em> :</span></p></td>
 
1931
<td>will hold the second prime (q)</td>
 
1932
</tr>
 
1933
<tr>
 
1934
<td><p><span class="term"><em class="parameter"><code>u</code></em> :</span></p></td>
 
1935
<td>will hold the coefficient</td>
 
1936
</tr>
 
1937
<tr>
 
1938
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1939
<td>
 
1940
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, otherwise a negative error code.</td>
 
1941
</tr>
 
1942
</tbody>
 
1943
</table></div>
 
1944
<p class="since">Since 2.4.0</p>
 
1945
</div>
 
1946
<hr>
 
1947
<div class="refsect2">
 
1948
<a name="gnutls-openpgp-privkey-export"></a><h3>gnutls_openpgp_privkey_export ()</h3>
 
1949
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_export       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
1950
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>,
 
1951
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>,
 
1952
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>,
 
1953
                                                         <em class="parameter"><code><span class="type">void</span> *output_data</code></em>,
 
1954
                                                         <em class="parameter"><code><span class="type">size_t</span> *output_data_size</code></em>);</pre>
 
1955
<p>
 
1956
This function will convert the given key to RAW or Base64 format.
 
1957
If the buffer provided is not long enough to hold the output, then
 
1958
GNUTLS_E_SHORT_MEMORY_BUFFER will be returned.
 
1959
</p>
 
1960
<div class="variablelist"><table border="0">
 
1961
<col align="left" valign="top">
 
1962
<tbody>
 
1963
<tr>
 
1964
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
1965
<td>Holds the key.</td>
 
1966
</tr>
 
1967
<tr>
 
1968
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
 
1969
<td>One of gnutls_openpgp_crt_fmt_t elements.</td>
 
1970
</tr>
 
1971
<tr>
 
1972
<td><p><span class="term"><em class="parameter"><code>password</code></em> :</span></p></td>
 
1973
<td>the password that will be used to encrypt the key. (unused for now)</td>
 
1974
</tr>
 
1975
<tr>
 
1976
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
 
1977
<td>(0) for future compatibility</td>
 
1978
</tr>
 
1979
<tr>
 
1980
<td><p><span class="term"><em class="parameter"><code>output_data</code></em> :</span></p></td>
 
1981
<td>will contain the key base64 encoded or raw</td>
 
1982
</tr>
 
1983
<tr>
 
1984
<td><p><span class="term"><em class="parameter"><code>output_data_size</code></em> :</span></p></td>
 
1985
<td>holds the size of output_data (and will be
 
1986
replaced by the actual size of parameters)</td>
 
1987
</tr>
 
1988
<tr>
 
1989
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1990
<td>
 
1991
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
1992
</tr>
 
1993
</tbody>
 
1994
</table></div>
 
1995
<p class="since">Since 2.4.0</p>
 
1996
</div>
 
1997
<hr>
 
1998
<div class="refsect2">
 
1999
<a name="gnutls-openpgp-privkey-set-preferred-key-id"></a><h3>gnutls_openpgp_privkey_set_preferred_key_id ()</h3>
 
2000
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_set_preferred_key_id
 
2001
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
2002
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);</pre>
 
2003
<p>
 
2004
This allows setting a preferred key id for the given certificate.
 
2005
This key will be used by functions that involve key handling.
 
2006
</p>
 
2007
<div class="variablelist"><table border="0">
 
2008
<col align="left" valign="top">
 
2009
<tbody>
 
2010
<tr>
 
2011
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
2012
<td>the structure that contains the OpenPGP public key.</td>
 
2013
</tr>
 
2014
<tr>
 
2015
<td><p><span class="term"><em class="parameter"><code>keyid</code></em> :</span></p></td>
 
2016
<td>the selected keyid</td>
 
2017
</tr>
 
2018
<tr>
 
2019
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2020
<td>On success, 0 is returned, or an error code.</td>
 
2021
</tr>
 
2022
</tbody>
 
2023
</table></div>
 
2024
</div>
 
2025
<hr>
 
2026
<div class="refsect2">
 
2027
<a name="gnutls-openpgp-privkey-get-preferred-key-id"></a><h3>gnutls_openpgp_privkey_get_preferred_key_id ()</h3>
 
2028
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_privkey_get_preferred_key_id
 
2029
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> key</code></em>,
 
2030
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>);</pre>
 
2031
<p>
 
2032
Get the preferred key-id for the key.
 
2033
</p>
 
2034
<div class="variablelist"><table border="0">
 
2035
<col align="left" valign="top">
 
2036
<tbody>
 
2037
<tr>
 
2038
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
2039
<td>the structure that contains the OpenPGP public key.</td>
 
2040
</tr>
 
2041
<tr>
 
2042
<td><p><span class="term"><em class="parameter"><code>keyid</code></em> :</span></p></td>
 
2043
<td>the struct to save the keyid.</td>
 
2044
</tr>
 
2045
<tr>
 
2046
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2047
<td>the 64-bit preferred keyID of the OpenPGP key, or if it
 
2048
hasn't been set it returns <a class="link" href="gnutls-gnutls.html#GNUTLS-E-INVALID-REQUEST:CAPS" title="GNUTLS_E_INVALID_REQUEST"><code class="literal">GNUTLS_E_INVALID_REQUEST</code></a>.</td>
 
2049
</tr>
 
2050
</tbody>
 
2051
</table></div>
 
2052
</div>
 
2053
<hr>
 
2054
<div class="refsect2">
 
2055
<a name="gnutls-openpgp-crt-get-auth-subkey"></a><h3>gnutls_openpgp_crt_get_auth_subkey ()</h3>
 
2056
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_get_auth_subkey  (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>,
 
2057
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>,
 
2058
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> flag</code></em>);</pre>
 
2059
<p>
 
2060
Returns the 64-bit keyID of the first valid OpenPGP subkey marked
 
2061
for authentication.  If flag is non (0) and no authentication
 
2062
subkey exists, then a valid subkey will be returned even if it is
 
2063
not marked for authentication.
 
2064
Returns the 64-bit keyID of the first valid OpenPGP subkey marked
 
2065
for authentication.  If flag is non (0) and no authentication
 
2066
subkey exists, then a valid subkey will be returned even if it is
 
2067
not marked for authentication.
 
2068
</p>
 
2069
<div class="variablelist"><table border="0">
 
2070
<col align="left" valign="top">
 
2071
<tbody>
 
2072
<tr>
 
2073
<td><p><span class="term"><em class="parameter"><code>crt</code></em> :</span></p></td>
 
2074
<td>the structure that contains the OpenPGP public key.</td>
 
2075
</tr>
 
2076
<tr>
 
2077
<td><p><span class="term"><em class="parameter"><code>keyid</code></em> :</span></p></td>
 
2078
<td>the struct to save the keyid.</td>
 
2079
</tr>
 
2080
<tr>
 
2081
<td><p><span class="term"><em class="parameter"><code>flag</code></em> :</span></p></td>
 
2082
<td>Non (0) indicates that a valid subkey is always returned.</td>
 
2083
</tr>
 
2084
<tr>
 
2085
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2086
<td>
 
2087
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
2088
</tr>
 
2089
</tbody>
 
2090
</table></div>
 
2091
</div>
 
2092
<hr>
 
2093
<div class="refsect2">
 
2094
<a name="gnutls-openpgp-keyring-init"></a><h3>gnutls_openpgp_keyring_init ()</h3>
 
2095
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_keyring_init         (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> *keyring</code></em>);</pre>
 
2096
<p>
 
2097
This function will initialize an keyring structure.
 
2098
</p>
 
2099
<div class="variablelist"><table border="0">
 
2100
<col align="left" valign="top">
 
2101
<tbody>
 
2102
<tr>
 
2103
<td><p><span class="term"><em class="parameter"><code>keyring</code></em> :</span></p></td>
 
2104
<td>The structure to be initialized</td>
 
2105
</tr>
 
2106
<tr>
 
2107
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2108
<td>
 
2109
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
2110
</tr>
 
2111
</tbody>
 
2112
</table></div>
 
2113
</div>
 
2114
<hr>
 
2115
<div class="refsect2">
 
2116
<a name="gnutls-openpgp-keyring-deinit"></a><h3>gnutls_openpgp_keyring_deinit ()</h3>
 
2117
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_openpgp_keyring_deinit       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> keyring</code></em>);</pre>
 
2118
<p>
 
2119
This function will deinitialize a keyring structure.
 
2120
</p>
 
2121
<div class="variablelist"><table border="0">
 
2122
<col align="left" valign="top">
 
2123
<tbody><tr>
 
2124
<td><p><span class="term"><em class="parameter"><code>keyring</code></em> :</span></p></td>
 
2125
<td>The structure to be initialized</td>
 
2126
</tr></tbody>
 
2127
</table></div>
 
2128
</div>
 
2129
<hr>
 
2130
<div class="refsect2">
 
2131
<a name="gnutls-openpgp-keyring-import"></a><h3>gnutls_openpgp_keyring_import ()</h3>
 
2132
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_keyring_import       (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> keyring</code></em>,
 
2133
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *data</code></em>,
 
2134
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre>
 
2135
<p>
 
2136
This function will convert the given RAW or Base64 encoded keyring
 
2137
to the native <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> format.  The output will be
 
2138
stored in 'keyring'.
 
2139
</p>
 
2140
<div class="variablelist"><table border="0">
 
2141
<col align="left" valign="top">
 
2142
<tbody>
 
2143
<tr>
 
2144
<td><p><span class="term"><em class="parameter"><code>keyring</code></em> :</span></p></td>
 
2145
<td>The structure to store the parsed key.</td>
 
2146
</tr>
 
2147
<tr>
 
2148
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
 
2149
<td>The RAW or BASE64 encoded keyring.</td>
 
2150
</tr>
 
2151
<tr>
 
2152
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
 
2153
<td>One of <span class="type">gnutls_openpgp_keyring_fmt</span> elements.</td>
 
2154
</tr>
 
2155
<tr>
 
2156
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2157
<td>
 
2158
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
2159
</tr>
 
2160
</tbody>
 
2161
</table></div>
 
2162
</div>
 
2163
<hr>
 
2164
<div class="refsect2">
 
2165
<a name="gnutls-openpgp-keyring-check-id"></a><h3>gnutls_openpgp_keyring_check_id ()</h3>
 
2166
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_keyring_check_id     (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> ring</code></em>,
 
2167
                                                         <em class="parameter"><code>const <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-keyid-t" title="gnutls_openpgp_keyid_t"><span class="type">gnutls_openpgp_keyid_t</span></a> keyid</code></em>,
 
2168
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre>
 
2169
<p>
 
2170
Check if a given key ID exists in the keyring.
 
2171
</p>
 
2172
<div class="variablelist"><table border="0">
 
2173
<col align="left" valign="top">
 
2174
<tbody>
 
2175
<tr>
 
2176
<td><p><span class="term"><em class="parameter"><code>ring</code></em> :</span></p></td>
 
2177
<td>holds the keyring to check against</td>
 
2178
</tr>
 
2179
<tr>
 
2180
<td><p><span class="term"><em class="parameter"><code>keyid</code></em> :</span></p></td>
 
2181
<td>will hold the keyid to check for.</td>
 
2182
</tr>
 
2183
<tr>
 
2184
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
 
2185
<td>unused (should be 0)</td>
 
2186
</tr>
 
2187
<tr>
 
2188
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2189
<td>
 
2190
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success (if keyid exists) and a
 
2191
negative error code on failure.</td>
 
2192
</tr>
 
2193
</tbody>
 
2194
</table></div>
 
2195
</div>
 
2196
<hr>
 
2197
<div class="refsect2">
 
2198
<a name="gnutls-openpgp-crt-verify-ring"></a><h3>gnutls_openpgp_crt_verify_ring ()</h3>
 
2199
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_verify_ring      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
2200
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> keyring</code></em>,
 
2201
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>,
 
2202
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *verify</code></em>);</pre>
 
2203
<p>
 
2204
Verify all signatures in the key, using the given set of keys
 
2205
(keyring).
 
2206
</p>
 
2207
<p>
 
2208
The key verification output will be put in <em class="parameter"><code>verify</code></em> and will be one
 
2209
or more of the <a class="link" href="gnutls-gnutls.html#gnutls-certificate-status-t" title="enum gnutls_certificate_status_t"><span class="type">gnutls_certificate_status_t</span></a> enumerated elements
 
2210
bitwise or'd.
 
2211
</p>
 
2212
<p>
 
2213
<a class="link" href="gnutls-gnutls.html#GNUTLS-CERT-INVALID:CAPS"><code class="literal">GNUTLS_CERT_INVALID</code></a>: A signature on the key is invalid.
 
2214
</p>
 
2215
<p>
 
2216
<a class="link" href="gnutls-gnutls.html#GNUTLS-CERT-REVOKED:CAPS"><code class="literal">GNUTLS_CERT_REVOKED</code></a>: The key has been revoked.
 
2217
</p>
 
2218
<p>
 
2219
Note that this function does not verify using any "web of trust".
 
2220
You may use GnuPG for that purpose, or any other external PGP
 
2221
application.
 
2222
</p>
 
2223
<div class="variablelist"><table border="0">
 
2224
<col align="left" valign="top">
 
2225
<tbody>
 
2226
<tr>
 
2227
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
2228
<td>the structure that holds the key.</td>
 
2229
</tr>
 
2230
<tr>
 
2231
<td><p><span class="term"><em class="parameter"><code>keyring</code></em> :</span></p></td>
 
2232
<td>holds the keyring to check against</td>
 
2233
</tr>
 
2234
<tr>
 
2235
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
 
2236
<td>unused (should be 0)</td>
 
2237
</tr>
 
2238
<tr>
 
2239
<td><p><span class="term"><em class="parameter"><code>verify</code></em> :</span></p></td>
 
2240
<td>will hold the certificate verification output.</td>
 
2241
</tr>
 
2242
<tr>
 
2243
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2244
<td>
 
2245
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
2246
</tr>
 
2247
</tbody>
 
2248
</table></div>
 
2249
</div>
 
2250
<hr>
 
2251
<div class="refsect2">
 
2252
<a name="gnutls-openpgp-crt-verify-self"></a><h3>gnutls_openpgp_crt_verify_self ()</h3>
 
2253
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_crt_verify_self      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> key</code></em>,
 
2254
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>,
 
2255
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> *verify</code></em>);</pre>
 
2256
<p>
 
2257
Verifies the self signature in the key.  The key verification
 
2258
output will be put in <em class="parameter"><code>verify</code></em> and will be one or more of the
 
2259
gnutls_certificate_status_t enumerated elements bitwise or'd.
 
2260
</p>
 
2261
<p>
 
2262
<a class="link" href="gnutls-gnutls.html#GNUTLS-CERT-INVALID:CAPS"><code class="literal">GNUTLS_CERT_INVALID</code></a>: The self signature on the key is invalid.
 
2263
</p>
 
2264
<div class="variablelist"><table border="0">
 
2265
<col align="left" valign="top">
 
2266
<tbody>
 
2267
<tr>
 
2268
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
2269
<td>the structure that holds the key.</td>
 
2270
</tr>
 
2271
<tr>
 
2272
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
 
2273
<td>unused (should be 0)</td>
 
2274
</tr>
 
2275
<tr>
 
2276
<td><p><span class="term"><em class="parameter"><code>verify</code></em> :</span></p></td>
 
2277
<td>will hold the key verification output.</td>
 
2278
</tr>
 
2279
<tr>
 
2280
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2281
<td>
 
2282
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
2283
</tr>
 
2284
</tbody>
 
2285
</table></div>
 
2286
</div>
 
2287
<hr>
 
2288
<div class="refsect2">
 
2289
<a name="gnutls-openpgp-keyring-get-crt"></a><h3>gnutls_openpgp_keyring_get_crt ()</h3>
 
2290
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_keyring_get_crt      (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> ring</code></em>,
 
2291
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> idx</code></em>,
 
2292
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> *cert</code></em>);</pre>
 
2293
<p>
 
2294
This function will extract an OpenPGP certificate from the given
 
2295
keyring.  If the index given is out of range
 
2296
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-REQUESTED-DATA-NOT-AVAILABLE:CAPS" title="GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE"><code class="literal">GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE</code></a> will be returned. The
 
2297
returned structure needs to be deinited.
 
2298
</p>
 
2299
<div class="variablelist"><table border="0">
 
2300
<col align="left" valign="top">
 
2301
<tbody>
 
2302
<tr>
 
2303
<td><p><span class="term"><em class="parameter"><code>ring</code></em> :</span></p></td>
 
2304
<td>Holds the keyring.</td>
 
2305
</tr>
 
2306
<tr>
 
2307
<td><p><span class="term"><em class="parameter"><code>idx</code></em> :</span></p></td>
 
2308
<td>the index of the certificate to export</td>
 
2309
</tr>
 
2310
<tr>
 
2311
<td><p><span class="term"><em class="parameter"><code>cert</code></em> :</span></p></td>
 
2312
<td>An uninitialized <a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> structure</td>
 
2313
</tr>
 
2314
<tr>
 
2315
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2316
<td>
 
2317
<a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> on success, or an error code.</td>
 
2318
</tr>
 
2319
</tbody>
 
2320
</table></div>
 
2321
</div>
 
2322
<hr>
 
2323
<div class="refsect2">
 
2324
<a name="gnutls-openpgp-keyring-get-crt-count"></a><h3>gnutls_openpgp_keyring_get_crt_count ()</h3>
 
2325
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_openpgp_keyring_get_crt_count
 
2326
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-keyring-t" title="gnutls_openpgp_keyring_t"><span class="type">gnutls_openpgp_keyring_t</span></a> ring</code></em>);</pre>
 
2327
<p>
 
2328
This function will return the number of OpenPGP certificates
 
2329
present in the given keyring.
 
2330
</p>
 
2331
<div class="variablelist"><table border="0">
 
2332
<col align="left" valign="top">
 
2333
<tbody>
 
2334
<tr>
 
2335
<td><p><span class="term"><em class="parameter"><code>ring</code></em> :</span></p></td>
 
2336
<td>is an OpenPGP key ring</td>
 
2337
</tr>
 
2338
<tr>
 
2339
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2340
<td>the number of subkeys, or a negative error code on error.</td>
 
2341
</tr>
 
2342
</tbody>
 
2343
</table></div>
 
2344
</div>
 
2345
<hr>
 
2346
<div class="refsect2">
 
2347
<a name="gnutls-openpgp-recv-key-func"></a><h3>gnutls_openpgp_recv_key_func ()</h3>
 
2348
<pre class="programlisting"><span class="returnvalue">int</span>                 (*gnutls_openpgp_recv_key_func)     (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
2349
                                                         <em class="parameter"><code>const unsigned <span class="type">char</span> *keyfpr</code></em>,
 
2350
                                                         <em class="parameter"><code>unsigned <span class="type">int</span> keyfpr_length</code></em>,
 
2351
                                                         <em class="parameter"><code><span class="type">gnutls_datum_t</span> *key</code></em>);</pre>
 
2352
<p>
 
2353
A callback of this type is used to retrieve OpenPGP keys.  Only
 
2354
useful on the server, and will only be used if the peer send a key
 
2355
fingerprint instead of a full key.  See also
 
2356
<a class="link" href="gnutls-openpgp.html#gnutls-openpgp-set-recv-key-function" title="gnutls_openpgp_set_recv_key_function ()"><code class="function">gnutls_openpgp_set_recv_key_function()</code></a>.
 
2357
</p>
 
2358
<div class="variablelist"><table border="0">
 
2359
<col align="left" valign="top">
 
2360
<tbody>
 
2361
<tr>
 
2362
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
 
2363
<td>a TLS session</td>
 
2364
</tr>
 
2365
<tr>
 
2366
<td><p><span class="term"><em class="parameter"><code>keyfpr</code></em> :</span></p></td>
 
2367
<td>key fingerprint</td>
 
2368
</tr>
 
2369
<tr>
 
2370
<td><p><span class="term"><em class="parameter"><code>keyfpr_length</code></em> :</span></p></td>
 
2371
<td>length of key fingerprint</td>
 
2372
</tr>
 
2373
<tr>
 
2374
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
2375
<td>output key.</td>
 
2376
</tr>
 
2377
<tr>
 
2378
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2379
<td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (zero) is returned,
 
2380
otherwise an error code is returned.</td>
 
2381
</tr>
 
2382
</tbody>
 
2383
</table></div>
 
2384
</div>
 
2385
<hr>
 
2386
<div class="refsect2">
 
2387
<a name="gnutls-openpgp-set-recv-key-function"></a><h3>gnutls_openpgp_set_recv_key_function ()</h3>
 
2388
<pre class="programlisting"><span class="returnvalue">void</span>                gnutls_openpgp_set_recv_key_function
 
2389
                                                        (<em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-session-t" title="gnutls_session_t"><span class="type">gnutls_session_t</span></a> session</code></em>,
 
2390
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-recv-key-func" title="gnutls_openpgp_recv_key_func ()"><span class="type">gnutls_openpgp_recv_key_func</span></a> func</code></em>);</pre>
 
2391
<p>
 
2392
This funtion will set a key retrieval function for OpenPGP keys. This
 
2393
callback is only useful in server side, and will be used if the peer
 
2394
sent a key fingerprint instead of a full key.
 
2395
</p>
 
2396
<div class="variablelist"><table border="0">
 
2397
<col align="left" valign="top">
 
2398
<tbody>
 
2399
<tr>
 
2400
<td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
 
2401
<td>a TLS session</td>
 
2402
</tr>
 
2403
<tr>
 
2404
<td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
 
2405
<td>the callback</td>
 
2406
</tr>
 
2407
</tbody>
 
2408
</table></div>
 
2409
</div>
 
2410
<hr>
 
2411
<div class="refsect2">
 
2412
<a name="gnutls-certificate-set-openpgp-key"></a><h3>gnutls_certificate_set_openpgp_key ()</h3>
 
2413
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_certificate_set_openpgp_key  (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
2414
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-crt-t" title="gnutls_openpgp_crt_t"><span class="type">gnutls_openpgp_crt_t</span></a> crt</code></em>,
 
2415
                                                         <em class="parameter"><code><a class="link" href="gnutls-gnutls.html#gnutls-openpgp-privkey-t" title="gnutls_openpgp_privkey_t"><span class="type">gnutls_openpgp_privkey_t</span></a> pkey</code></em>);</pre>
 
2416
<p>
 
2417
This function sets a certificate/private key pair in the
 
2418
gnutls_certificate_credentials_t structure.  This function may be
 
2419
called more than once (in case multiple keys/certificates exist
 
2420
for the server).
 
2421
</p>
 
2422
<p>
 
2423
Note that this function requires that the preferred key ids have
 
2424
been set and be used. See <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-set-preferred-key-id" title="gnutls_openpgp_crt_set_preferred_key_id ()"><code class="function">gnutls_openpgp_crt_set_preferred_key_id()</code></a>.
 
2425
Otherwise the master key will be used.
 
2426
</p>
 
2427
<div class="variablelist"><table border="0">
 
2428
<col align="left" valign="top">
 
2429
<tbody>
 
2430
<tr>
 
2431
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
 
2432
<td>is a <span class="type">gnutls_certificate_credentials_t</span> structure.</td>
 
2433
</tr>
 
2434
<tr>
 
2435
<td><p><span class="term"><em class="parameter"><code>crt</code></em> :</span></p></td>
 
2436
<td>contains an openpgp public key</td>
 
2437
</tr>
 
2438
<tr>
 
2439
<td><p><span class="term"><em class="parameter"><code>pkey</code></em> :</span></p></td>
 
2440
<td>is an openpgp private key</td>
 
2441
</tr>
 
2442
<tr>
 
2443
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2444
<td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned,
 
2445
otherwise a negative error code is returned.</td>
 
2446
</tr>
 
2447
</tbody>
 
2448
</table></div>
 
2449
</div>
 
2450
<hr>
 
2451
<div class="refsect2">
 
2452
<a name="gnutls-certificate-set-openpgp-key-file"></a><h3>gnutls_certificate_set_openpgp_key_file ()</h3>
 
2453
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_certificate_set_openpgp_key_file
 
2454
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
2455
                                                         <em class="parameter"><code>const <span class="type">char</span> *certfile</code></em>,
 
2456
                                                         <em class="parameter"><code>const <span class="type">char</span> *keyfile</code></em>,
 
2457
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre>
 
2458
<p>
 
2459
This funtion is used to load OpenPGP keys into the GnuTLS
 
2460
credentials structure. The file should contain at least one valid non encrypted subkey.
 
2461
</p>
 
2462
<div class="variablelist"><table border="0">
 
2463
<col align="left" valign="top">
 
2464
<tbody>
 
2465
<tr>
 
2466
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
 
2467
<td>the destination context to save the data.</td>
 
2468
</tr>
 
2469
<tr>
 
2470
<td><p><span class="term"><em class="parameter"><code>certfile</code></em> :</span></p></td>
 
2471
<td>the file that contains the public key.</td>
 
2472
</tr>
 
2473
<tr>
 
2474
<td><p><span class="term"><em class="parameter"><code>keyfile</code></em> :</span></p></td>
 
2475
<td>the file that contains the secret key.</td>
 
2476
</tr>
 
2477
<tr>
 
2478
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
 
2479
<td>the format of the keys</td>
 
2480
</tr>
 
2481
<tr>
 
2482
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2483
<td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a
 
2484
negative error value.</td>
 
2485
</tr>
 
2486
</tbody>
 
2487
</table></div>
 
2488
</div>
 
2489
<hr>
 
2490
<div class="refsect2">
 
2491
<a name="gnutls-certificate-set-openpgp-key-mem"></a><h3>gnutls_certificate_set_openpgp_key_mem ()</h3>
 
2492
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_certificate_set_openpgp_key_mem
 
2493
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
2494
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *cert</code></em>,
 
2495
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *key</code></em>,
 
2496
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre>
 
2497
<p>
 
2498
This funtion is used to load OpenPGP keys into the GnuTLS credential 
 
2499
structure. The datum should contain at least one valid non encrypted subkey.
 
2500
</p>
 
2501
<div class="variablelist"><table border="0">
 
2502
<col align="left" valign="top">
 
2503
<tbody>
 
2504
<tr>
 
2505
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
 
2506
<td>the destination context to save the data.</td>
 
2507
</tr>
 
2508
<tr>
 
2509
<td><p><span class="term"><em class="parameter"><code>cert</code></em> :</span></p></td>
 
2510
<td>the datum that contains the public key.</td>
 
2511
</tr>
 
2512
<tr>
 
2513
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
2514
<td>the datum that contains the secret key.</td>
 
2515
</tr>
 
2516
<tr>
 
2517
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
 
2518
<td>the format of the keys</td>
 
2519
</tr>
 
2520
<tr>
 
2521
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2522
<td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a
 
2523
negative error value.</td>
 
2524
</tr>
 
2525
</tbody>
 
2526
</table></div>
 
2527
</div>
 
2528
<hr>
 
2529
<div class="refsect2">
 
2530
<a name="gnutls-certificate-set-openpgp-key-file2"></a><h3>gnutls_certificate_set_openpgp_key_file2 ()</h3>
 
2531
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_certificate_set_openpgp_key_file2
 
2532
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
2533
                                                         <em class="parameter"><code>const <span class="type">char</span> *certfile</code></em>,
 
2534
                                                         <em class="parameter"><code>const <span class="type">char</span> *keyfile</code></em>,
 
2535
                                                         <em class="parameter"><code>const <span class="type">char</span> *subkey_id</code></em>,
 
2536
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre>
 
2537
<p>
 
2538
This funtion is used to load OpenPGP keys into the GnuTLS credential 
 
2539
structure. The file should contain at least one valid non encrypted subkey.
 
2540
</p>
 
2541
<p>
 
2542
The special keyword "auto" is also accepted as <em class="parameter"><code>subkey_id</code></em>.  In that
 
2543
case the <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-auth-subkey" title="gnutls_openpgp_crt_get_auth_subkey ()"><code class="function">gnutls_openpgp_crt_get_auth_subkey()</code></a> will be used to
 
2544
retrieve the subkey.
 
2545
</p>
 
2546
<div class="variablelist"><table border="0">
 
2547
<col align="left" valign="top">
 
2548
<tbody>
 
2549
<tr>
 
2550
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
 
2551
<td>the destination context to save the data.</td>
 
2552
</tr>
 
2553
<tr>
 
2554
<td><p><span class="term"><em class="parameter"><code>certfile</code></em> :</span></p></td>
 
2555
<td>the file that contains the public key.</td>
 
2556
</tr>
 
2557
<tr>
 
2558
<td><p><span class="term"><em class="parameter"><code>keyfile</code></em> :</span></p></td>
 
2559
<td>the file that contains the secret key.</td>
 
2560
</tr>
 
2561
<tr>
 
2562
<td><p><span class="term"><em class="parameter"><code>subkey_id</code></em> :</span></p></td>
 
2563
<td>a hex encoded subkey id</td>
 
2564
</tr>
 
2565
<tr>
 
2566
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
 
2567
<td>the format of the keys</td>
 
2568
</tr>
 
2569
<tr>
 
2570
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2571
<td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a
 
2572
negative error value.</td>
 
2573
</tr>
 
2574
</tbody>
 
2575
</table></div>
 
2576
<p class="since">Since 2.4.0</p>
 
2577
</div>
 
2578
<hr>
 
2579
<div class="refsect2">
 
2580
<a name="gnutls-certificate-set-openpgp-key-mem2"></a><h3>gnutls_certificate_set_openpgp_key_mem2 ()</h3>
 
2581
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_certificate_set_openpgp_key_mem2
 
2582
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> res</code></em>,
 
2583
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *cert</code></em>,
 
2584
                                                         <em class="parameter"><code>const <span class="type">gnutls_datum_t</span> *key</code></em>,
 
2585
                                                         <em class="parameter"><code>const <span class="type">char</span> *subkey_id</code></em>,
 
2586
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre>
 
2587
<p>
 
2588
This funtion is used to load OpenPGP keys into the GnuTLS
 
2589
credentials structure. The datum should contain at least one valid non encrypted subkey.
 
2590
</p>
 
2591
<p>
 
2592
The special keyword "auto" is also accepted as <em class="parameter"><code>subkey_id</code></em>.  In that
 
2593
case the <a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-get-auth-subkey" title="gnutls_openpgp_crt_get_auth_subkey ()"><code class="function">gnutls_openpgp_crt_get_auth_subkey()</code></a> will be used to
 
2594
retrieve the subkey.
 
2595
</p>
 
2596
<div class="variablelist"><table border="0">
 
2597
<col align="left" valign="top">
 
2598
<tbody>
 
2599
<tr>
 
2600
<td><p><span class="term"><em class="parameter"><code>res</code></em> :</span></p></td>
 
2601
<td>the destination context to save the data.</td>
 
2602
</tr>
 
2603
<tr>
 
2604
<td><p><span class="term"><em class="parameter"><code>cert</code></em> :</span></p></td>
 
2605
<td>the datum that contains the public key.</td>
 
2606
</tr>
 
2607
<tr>
 
2608
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
2609
<td>the datum that contains the secret key.</td>
 
2610
</tr>
 
2611
<tr>
 
2612
<td><p><span class="term"><em class="parameter"><code>subkey_id</code></em> :</span></p></td>
 
2613
<td>a hex encoded subkey id</td>
 
2614
</tr>
 
2615
<tr>
 
2616
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
 
2617
<td>the format of the keys</td>
 
2618
</tr>
 
2619
<tr>
 
2620
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2621
<td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a
 
2622
negative error value.</td>
 
2623
</tr>
 
2624
</tbody>
 
2625
</table></div>
 
2626
<p class="since">Since 2.4.0</p>
 
2627
</div>
 
2628
<hr>
 
2629
<div class="refsect2">
 
2630
<a name="gnutls-certificate-set-openpgp-keyring-mem"></a><h3>gnutls_certificate_set_openpgp_keyring_mem ()</h3>
 
2631
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_certificate_set_openpgp_keyring_mem
 
2632
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> c</code></em>,
 
2633
                                                         <em class="parameter"><code>const unsigned <span class="type">char</span> *data</code></em>,
 
2634
                                                         <em class="parameter"><code><span class="type">size_t</span> dlen</code></em>,
 
2635
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre>
 
2636
<p>
 
2637
The function is used to set keyrings that will be used internally
 
2638
by various OpenPGP functions. For example to find a key when it
 
2639
is needed for an operations. The keyring will also be used at the
 
2640
verification functions.
 
2641
</p>
 
2642
<div class="variablelist"><table border="0">
 
2643
<col align="left" valign="top">
 
2644
<tbody>
 
2645
<tr>
 
2646
<td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
 
2647
<td>A certificate credentials structure</td>
 
2648
</tr>
 
2649
<tr>
 
2650
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
 
2651
<td>buffer with keyring data.</td>
 
2652
</tr>
 
2653
<tr>
 
2654
<td><p><span class="term"><em class="parameter"><code>dlen</code></em> :</span></p></td>
 
2655
<td>length of data buffer.</td>
 
2656
</tr>
 
2657
<tr>
 
2658
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
 
2659
<td>the format of the keyring</td>
 
2660
</tr>
 
2661
<tr>
 
2662
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2663
<td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a
 
2664
negative error value.</td>
 
2665
</tr>
 
2666
</tbody>
 
2667
</table></div>
 
2668
</div>
 
2669
<hr>
 
2670
<div class="refsect2">
 
2671
<a name="gnutls-certificate-set-openpgp-keyring-file"></a><h3>gnutls_certificate_set_openpgp_keyring_file ()</h3>
 
2672
<pre class="programlisting"><span class="returnvalue">int</span>                 gnutls_certificate_set_openpgp_keyring_file
 
2673
                                                        (<em class="parameter"><code><span class="type">gnutls_certificate_credentials_t</span> c</code></em>,
 
2674
                                                         <em class="parameter"><code>const <span class="type">char</span> *file</code></em>,
 
2675
                                                         <em class="parameter"><code><a class="link" href="gnutls-openpgp.html#gnutls-openpgp-crt-fmt-t" title="enum gnutls_openpgp_crt_fmt_t"><span class="type">gnutls_openpgp_crt_fmt_t</span></a> format</code></em>);</pre>
 
2676
<p>
 
2677
The function is used to set keyrings that will be used internally
 
2678
by various OpenPGP functions. For example to find a key when it
 
2679
is needed for an operations. The keyring will also be used at the
 
2680
verification functions.
 
2681
</p>
 
2682
<div class="variablelist"><table border="0">
 
2683
<col align="left" valign="top">
 
2684
<tbody>
 
2685
<tr>
 
2686
<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
 
2687
<td>filename of the keyring.</td>
 
2688
</tr>
 
2689
<tr>
 
2690
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
 
2691
<td>format of keyring.</td>
 
2692
</tr>
 
2693
<tr>
 
2694
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2695
<td>On success, <a class="link" href="gnutls-gnutls.html#GNUTLS-E-SUCCESS:CAPS" title="GNUTLS_E_SUCCESS"><code class="literal">GNUTLS_E_SUCCESS</code></a> (0) is returned, otherwise a
 
2696
negative error value.</td>
 
2697
</tr>
 
2698
</tbody>
 
2699
</table></div>
 
2700
</div>
 
2701
</div>
 
2702
</div>
 
2703
<div class="footer">
 
2704
<hr>
 
2705
          Generated by GTK-Doc V1.17</div>
 
2706
</body>
 
2707
</html>
 
 
b'\\ No newline at end of file'