This file is indexed.

/usr/share/proton-0.14.0/docs/api-c/ssl_8h.html is in libqpid-proton8-dev-doc 0.14.0-5.1ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>proton: /build/qpid-proton-4llz2H/qpid-proton-0.14.0/proton-c/include/proton/ssl.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">proton
   &#160;<span id="projectnumber">0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_3d7fee5163f29235853f3037db69c226.html">proton-c</a></li><li class="navelem"><a class="el" href="dir_ca4610195e991eb8124aba7312da0967.html">include</a></li><li class="navelem"><a class="el" href="dir_819e9c3ec552076ba9984156db77a62b.html">proton</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">ssl.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>API for using SSL with the Transport Layer.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;<a class="el" href="import__export_8h_source.html">proton/import_export.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="type__compat_8h_source.html">proton/type_compat.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="types_8h_source.html">proton/types.h</a>&gt;</code><br />
</div>
<p><a href="ssl_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gaba83c3a1779c8b35a479bf3a7bb5b175"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a></td></tr>
<tr class="separator:gaba83c3a1779c8b35a479bf3a7bb5b175"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga215da63662423b00d34605ba4f9761f5"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a></td></tr>
<tr class="separator:ga215da63662423b00d34605ba4f9761f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga0f1d40875c45b14a31a77f27430bc225"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga0f1d40875c45b14a31a77f27430bc225">pn_ssl_mode_t</a> { <a class="el" href="group__ssl.html#gga0f1d40875c45b14a31a77f27430bc225a4e2fe24fcd2692e4c20c27668091a49c">PN_SSL_MODE_CLIENT</a> =1, 
<a class="el" href="group__ssl.html#gga0f1d40875c45b14a31a77f27430bc225a0c4550c70a6bc74cb906a74c5f1e5078">PN_SSL_MODE_SERVER</a>
 }<tr class="memdesc:ga0f1d40875c45b14a31a77f27430bc225"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the type of SSL endpoint.  <a href="group__ssl.html#ga0f1d40875c45b14a31a77f27430bc225">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga0f1d40875c45b14a31a77f27430bc225"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf175c116d52a91001f9a3559b580f56d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gaf175c116d52a91001f9a3559b580f56d">pn_ssl_resume_status_t</a> { <a class="el" href="group__ssl.html#ggaf175c116d52a91001f9a3559b580f56dad1385651f6078177d6652c385453280d">PN_SSL_RESUME_UNKNOWN</a>, 
<a class="el" href="group__ssl.html#ggaf175c116d52a91001f9a3559b580f56dac8a5515a69c89007f681b3c555328e8f">PN_SSL_RESUME_NEW</a>, 
<a class="el" href="group__ssl.html#ggaf175c116d52a91001f9a3559b580f56dabb1b88b78dcb91ee80cd6f0eb5873d6d">PN_SSL_RESUME_REUSED</a>
 }<tr class="memdesc:gaf175c116d52a91001f9a3559b580f56d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates whether an SSL session has been resumed.  <a href="group__ssl.html#gaf175c116d52a91001f9a3559b580f56d">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gaf175c116d52a91001f9a3559b580f56d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae5e33024ed6af3432d4c76d1484d7ecb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gae5e33024ed6af3432d4c76d1484d7ecb">pn_ssl_verify_mode_t</a> { <a class="el" href="group__ssl.html#ggae5e33024ed6af3432d4c76d1484d7ecbada1e3837cc900bd6419de72c25b253cc">PN_SSL_VERIFY_NULL</a> =0, 
<a class="el" href="group__ssl.html#ggae5e33024ed6af3432d4c76d1484d7ecbad80276abde5d95760c63d0b9685d4d44">PN_SSL_VERIFY_PEER</a>, 
<a class="el" href="group__ssl.html#ggae5e33024ed6af3432d4c76d1484d7ecbafa6dbe705dd0366ff4799616f788a9f5">PN_SSL_ANONYMOUS_PEER</a>, 
<a class="el" href="group__ssl.html#ggae5e33024ed6af3432d4c76d1484d7ecbaac956f0febf05ab579de839700895e36">PN_SSL_VERIFY_PEER_NAME</a>
 }<tr class="memdesc:gae5e33024ed6af3432d4c76d1484d7ecb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the level of peer validation.  <a href="group__ssl.html#gae5e33024ed6af3432d4c76d1484d7ecb">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gae5e33024ed6af3432d4c76d1484d7ecb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68d52866e8172acc7ecc7b4fe5b38a40"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga68d52866e8172acc7ecc7b4fe5b38a40">pn_ssl_cert_subject_subfield</a> { <br />
&#160;&#160;<a class="el" href="group__ssl.html#gga68d52866e8172acc7ecc7b4fe5b38a40af5c1deffedaaae563e493e23e7658aa0">PN_SSL_CERT_SUBJECT_COUNTRY_NAME</a>, 
<a class="el" href="group__ssl.html#gga68d52866e8172acc7ecc7b4fe5b38a40aeab893d2607ef1ab90e89ba42df33e71">PN_SSL_CERT_SUBJECT_STATE_OR_PROVINCE</a>, 
<a class="el" href="group__ssl.html#gga68d52866e8172acc7ecc7b4fe5b38a40a0eb5c598625be198fe7220e7f8bc5e18">PN_SSL_CERT_SUBJECT_CITY_OR_LOCALITY</a>, 
<a class="el" href="group__ssl.html#gga68d52866e8172acc7ecc7b4fe5b38a40a641ed18c339dabbb246b88b3ed6ecda0">PN_SSL_CERT_SUBJECT_ORGANIZATION_NAME</a>, 
<br />
&#160;&#160;<a class="el" href="group__ssl.html#gga68d52866e8172acc7ecc7b4fe5b38a40a2161af8cc70236ebe4635ef6a3002649">PN_SSL_CERT_SUBJECT_ORGANIZATION_UNIT</a>, 
<a class="el" href="group__ssl.html#gga68d52866e8172acc7ecc7b4fe5b38a40ad39c582ed1f0d3a1f97c17b9432028d6">PN_SSL_CERT_SUBJECT_COMMON_NAME</a>
<br />
 }<tr class="memdesc:ga68d52866e8172acc7ecc7b4fe5b38a40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration identifying the sub fields of the subject field in the ssl certificate.  <a href="group__ssl.html#ga68d52866e8172acc7ecc7b4fe5b38a40">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga68d52866e8172acc7ecc7b4fe5b38a40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0b0cd3271ad4a0e33e2a61a8cea7892"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gaf0b0cd3271ad4a0e33e2a61a8cea7892">pn_ssl_hash_alg</a> { <a class="el" href="group__ssl.html#ggaf0b0cd3271ad4a0e33e2a61a8cea7892add60b6e2931ac8c35d6925e096fb3bf4">PN_SSL_SHA1</a>, 
<a class="el" href="group__ssl.html#ggaf0b0cd3271ad4a0e33e2a61a8cea7892a623d60f90b7f0e636db7228e244f2ca0">PN_SSL_SHA256</a>, 
<a class="el" href="group__ssl.html#ggaf0b0cd3271ad4a0e33e2a61a8cea7892a9449a5575bf4589d1e88687a3a99748b">PN_SSL_SHA512</a>, 
<a class="el" href="group__ssl.html#ggaf0b0cd3271ad4a0e33e2a61a8cea7892a6c5d0f29a3e5a728a9c80a10f25ac62f">PN_SSL_MD5</a>
 }<tr class="memdesc:gaf0b0cd3271ad4a0e33e2a61a8cea7892"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration identifying hashing algorithm.  <a href="group__ssl.html#gaf0b0cd3271ad4a0e33e2a61a8cea7892">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gaf0b0cd3271ad4a0e33e2a61a8cea7892"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga94467860b566683a4c646487dc537b34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga94467860b566683a4c646487dc537b34">pn_ssl_present</a> (void)</td></tr>
<tr class="memdesc:ga94467860b566683a4c646487dc537b34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for SSL implementation present.  <a href="group__ssl.html#ga94467860b566683a4c646487dc537b34">More...</a><br /></td></tr>
<tr class="separator:ga94467860b566683a4c646487dc537b34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc9e5e64b23bf03316aa825ba036fb4f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> <a class="el" href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gabc9e5e64b23bf03316aa825ba036fb4f">pn_ssl_domain</a> (<a class="el" href="group__ssl.html#ga0f1d40875c45b14a31a77f27430bc225">pn_ssl_mode_t</a> mode)</td></tr>
<tr class="memdesc:gabc9e5e64b23bf03316aa825ba036fb4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an SSL configuration domain.  <a href="group__ssl.html#gabc9e5e64b23bf03316aa825ba036fb4f">More...</a><br /></td></tr>
<tr class="separator:gabc9e5e64b23bf03316aa825ba036fb4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f0254dda9b35b5af99e744be243daaf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga2f0254dda9b35b5af99e744be243daaf">pn_ssl_domain_free</a> (<a class="el" href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain)</td></tr>
<tr class="memdesc:ga2f0254dda9b35b5af99e744be243daaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release an SSL configuration domain.  <a href="group__ssl.html#ga2f0254dda9b35b5af99e744be243daaf">More...</a><br /></td></tr>
<tr class="separator:ga2f0254dda9b35b5af99e744be243daaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13bc3cf2d0d2f3f612a513752e929251"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga13bc3cf2d0d2f3f612a513752e929251">pn_ssl_domain_set_credentials</a> (<a class="el" href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain, const char *credential_1, const char *credential_2, const char *password)</td></tr>
<tr class="memdesc:ga13bc3cf2d0d2f3f612a513752e929251"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the certificate that identifies the local node to the remote.  <a href="group__ssl.html#ga13bc3cf2d0d2f3f612a513752e929251">More...</a><br /></td></tr>
<tr class="separator:ga13bc3cf2d0d2f3f612a513752e929251"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga20761fc3f72ab4d947a7c468a43758c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga20761fc3f72ab4d947a7c468a43758c9">pn_ssl_domain_set_trusted_ca_db</a> (<a class="el" href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain, const char *certificate_db)</td></tr>
<tr class="memdesc:ga20761fc3f72ab4d947a7c468a43758c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure the set of trusted CA certificates used by this domain to verify peers.  <a href="group__ssl.html#ga20761fc3f72ab4d947a7c468a43758c9">More...</a><br /></td></tr>
<tr class="separator:ga20761fc3f72ab4d947a7c468a43758c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacba0321d3d8cd67c601b604a5b42a190"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gacba0321d3d8cd67c601b604a5b42a190">pn_ssl_domain_set_peer_authentication</a> (<a class="el" href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain, const <a class="el" href="group__ssl.html#gae5e33024ed6af3432d4c76d1484d7ecb">pn_ssl_verify_mode_t</a> mode, const char *trusted_CAs)</td></tr>
<tr class="memdesc:gacba0321d3d8cd67c601b604a5b42a190"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure the level of verification used on the peer certificate.  <a href="group__ssl.html#gacba0321d3d8cd67c601b604a5b42a190">More...</a><br /></td></tr>
<tr class="separator:gacba0321d3d8cd67c601b604a5b42a190"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7bf33cfae6dcd6513da926eff993896d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga7bf33cfae6dcd6513da926eff993896d">pn_ssl_domain_allow_unsecured_client</a> (<a class="el" href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain)</td></tr>
<tr class="memdesc:ga7bf33cfae6dcd6513da926eff993896d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permit a server to accept connection requests from non-SSL clients.  <a href="group__ssl.html#ga7bf33cfae6dcd6513da926eff993896d">More...</a><br /></td></tr>
<tr class="separator:ga7bf33cfae6dcd6513da926eff993896d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace9c2c01043714e64fe97a390ffeac87"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> <a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gace9c2c01043714e64fe97a390ffeac87">pn_ssl</a> (<a class="el" href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a> *transport)</td></tr>
<tr class="memdesc:gace9c2c01043714e64fe97a390ffeac87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new SSL session object associated with a transport.  <a href="group__ssl.html#gace9c2c01043714e64fe97a390ffeac87">More...</a><br /></td></tr>
<tr class="separator:gace9c2c01043714e64fe97a390ffeac87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5f8d77f86808ae8401691bcd17daa77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gac5f8d77f86808ae8401691bcd17daa77">pn_ssl_init</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl, <a class="el" href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain, const char *session_id)</td></tr>
<tr class="memdesc:gac5f8d77f86808ae8401691bcd17daa77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize an SSL session.  <a href="group__ssl.html#gac5f8d77f86808ae8401691bcd17daa77">More...</a><br /></td></tr>
<tr class="separator:gac5f8d77f86808ae8401691bcd17daa77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ea4334e4925b50cb6c6daa4795cdfa0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga7ea4334e4925b50cb6c6daa4795cdfa0">pn_ssl_get_cipher_name</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl, char *buffer, size_t size)</td></tr>
<tr class="memdesc:ga7ea4334e4925b50cb6c6daa4795cdfa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of the Cipher that is currently in use.  <a href="group__ssl.html#ga7ea4334e4925b50cb6c6daa4795cdfa0">More...</a><br /></td></tr>
<tr class="separator:ga7ea4334e4925b50cb6c6daa4795cdfa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4a1837eb135461f71da666f3438c7602"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga4a1837eb135461f71da666f3438c7602">pn_ssl_get_ssf</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl)</td></tr>
<tr class="memdesc:ga4a1837eb135461f71da666f3438c7602"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the SSF (security strength factor) of the Cipher that is currently in use.  <a href="group__ssl.html#ga4a1837eb135461f71da666f3438c7602">More...</a><br /></td></tr>
<tr class="separator:ga4a1837eb135461f71da666f3438c7602"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1636bdfcc884dbae248f0316ae2a076f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga1636bdfcc884dbae248f0316ae2a076f">pn_ssl_get_protocol_name</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl, char *buffer, size_t size)</td></tr>
<tr class="memdesc:ga1636bdfcc884dbae248f0316ae2a076f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of the SSL protocol that is currently in use.  <a href="group__ssl.html#ga1636bdfcc884dbae248f0316ae2a076f">More...</a><br /></td></tr>
<tr class="separator:ga1636bdfcc884dbae248f0316ae2a076f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga543c4d6b34f107f41a2812b15e370523"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> <a class="el" href="group__ssl.html#gaf175c116d52a91001f9a3559b580f56d">pn_ssl_resume_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga543c4d6b34f107f41a2812b15e370523">pn_ssl_resume_status</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl)</td></tr>
<tr class="memdesc:ga543c4d6b34f107f41a2812b15e370523"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether the state has been resumed.  <a href="group__ssl.html#ga543c4d6b34f107f41a2812b15e370523">More...</a><br /></td></tr>
<tr class="separator:ga543c4d6b34f107f41a2812b15e370523"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga733943a1e722653b5c1f36b7de670ee5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga733943a1e722653b5c1f36b7de670ee5">pn_ssl_set_peer_hostname</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl, const char *hostname)</td></tr>
<tr class="memdesc:ga733943a1e722653b5c1f36b7de670ee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the expected identity of the remote peer.  <a href="group__ssl.html#ga733943a1e722653b5c1f36b7de670ee5">More...</a><br /></td></tr>
<tr class="separator:ga733943a1e722653b5c1f36b7de670ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc678b1162484ec8eeddba8b594b1f74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gabc678b1162484ec8eeddba8b594b1f74">pn_ssl_get_peer_hostname</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl, char *hostname, size_t *bufsize)</td></tr>
<tr class="memdesc:gabc678b1162484ec8eeddba8b594b1f74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access the configured peer identity.  <a href="group__ssl.html#gabc678b1162484ec8eeddba8b594b1f74">More...</a><br /></td></tr>
<tr class="separator:gabc678b1162484ec8eeddba8b594b1f74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41e9ea2af96fcbc34fda2e72cff40f2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga41e9ea2af96fcbc34fda2e72cff40f2c">pn_ssl_get_remote_subject</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl)</td></tr>
<tr class="memdesc:ga41e9ea2af96fcbc34fda2e72cff40f2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the subject from the peers certificate.  <a href="group__ssl.html#ga41e9ea2af96fcbc34fda2e72cff40f2c">More...</a><br /></td></tr>
<tr class="separator:ga41e9ea2af96fcbc34fda2e72cff40f2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga31d1dde4b0fbb1cbc349863013309ba5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga31d1dde4b0fbb1cbc349863013309ba5">pn_ssl_get_cert_fingerprint</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl0, char *fingerprint, size_t fingerprint_length, <a class="el" href="group__ssl.html#gaf0b0cd3271ad4a0e33e2a61a8cea7892">pn_ssl_hash_alg</a> hash_alg)</td></tr>
<tr class="memdesc:ga31d1dde4b0fbb1cbc349863013309ba5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the fingerprint of the certificate.  <a href="group__ssl.html#ga31d1dde4b0fbb1cbc349863013309ba5">More...</a><br /></td></tr>
<tr class="separator:ga31d1dde4b0fbb1cbc349863013309ba5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6cd9e970301292a1b502a6a1d8bc2ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="import__export_8h.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gae6cd9e970301292a1b502a6a1d8bc2ab">pn_ssl_get_remote_subject_subfield</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl0, <a class="el" href="group__ssl.html#ga68d52866e8172acc7ecc7b4fe5b38a40">pn_ssl_cert_subject_subfield</a> field)</td></tr>
<tr class="memdesc:gae6cd9e970301292a1b502a6a1d8bc2ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a char pointer that contains the value of the sub field of the subject field in the ssl certificate.  <a href="group__ssl.html#gae6cd9e970301292a1b502a6a1d8bc2ab">More...</a><br /></td></tr>
<tr class="separator:gae6cd9e970301292a1b502a6a1d8bc2ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>API for using SSL with the Transport Layer. </p>
<p>A Transport may be configured to use SSL for encryption and/or authentication. A Transport can be configured as either an "SSL client" or an "SSL server". An SSL client is the party that proactively establishes a connection to an SSL server. An SSL server is the party that accepts a connection request from a remote SSL client.</p>
<p>This SSL implementation defines the following objects:</p>
<ul>
<li>A top-level object that stores the configuration used by one or more SSL sessions (pn_ssl_domain_t). </li>
<li>A per-connection SSL session object that performs the encryption/authentication associated with the transport (pn_ssl_t). </li>
<li>The encryption parameters negotiated for the SSL session (pn_ssl_state_t).</li>
</ul>
<p>A pn_ssl_domain_t object must be created and configured before an SSL session can be established. The pn_ssl_domain_t is used to construct an SSL session (pn_ssl_t). The session "adopts" its configuration from the pn_ssl_domain_t that was used to create it. For example, pn_ssl_domain_t can be configured as either a "client" or a "server". SSL sessions constructed from this domain will perform the corresponding role (either client or server).</p>
<p>If either an SSL server or client needs to identify itself with the remote node, it must have its SSL certificate configured (see <a class="el" href="group__ssl.html#ga13bc3cf2d0d2f3f612a513752e929251" title="Set the certificate that identifies the local node to the remote. ">pn_ssl_domain_set_credentials()</a>).</p>
<p>If either an SSL server or client needs to verify the identity of the remote node, it must have its database of trusted CAs configured (see <a class="el" href="group__ssl.html#ga20761fc3f72ab4d947a7c468a43758c9" title="Configure the set of trusted CA certificates used by this domain to verify peers. ...">pn_ssl_domain_set_trusted_ca_db()</a>).</p>
<p>An SSL server connection may allow the remote client to connect without SSL (eg. "in
the clear"), see <a class="el" href="group__ssl.html#ga7bf33cfae6dcd6513da926eff993896d" title="Permit a server to accept connection requests from non-SSL clients. ">pn_ssl_domain_allow_unsecured_client()</a>.</p>
<p>The level of verification required of the remote may be configured (see <a class="el" href="group__ssl.html#gacba0321d3d8cd67c601b604a5b42a190" title="Configure the level of verification used on the peer certificate. ">pn_ssl_domain_set_peer_authentication</a>)</p>
<p>Support for SSL Client Session resume is provided (see <a class="el" href="group__ssl.html#gac5f8d77f86808ae8401691bcd17daa77" title="Initialize an SSL session. ">pn_ssl_init</a>, <a class="el" href="group__ssl.html#ga543c4d6b34f107f41a2812b15e370523" title="Check whether the state has been resumed. ">pn_ssl_resume_status</a>). </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Feb 4 2018 22:16:50 for proton by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>