/usr/share/proton-0.10/docs/api-c/a00036.html is in libqpid-proton2-dev-doc 0.10-2.
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 | <!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.11"/>
<title>proton: /build/qpid-proton-9HU5Bc/qpid-proton-0.10/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>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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
 <span id="projectnumber">0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</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> |
<a href="#enum-members">Enumerations</a> |
<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 <<a class="el" href="a00022_source.html">proton/import_export.h</a>></code><br />
<code>#include <<a class="el" href="a00039_source.html">proton/type_compat.h</a>></code><br />
<code>#include <<a class="el" href="a00040_source.html">proton/types.h</a>></code><br />
</div>
<p><a href="a00036_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="a00060.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a></td></tr>
<tr class="separator:gaba83c3a1779c8b35a479bf3a7bb5b175"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga215da63662423b00d34605ba4f9761f5"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a00060.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a></td></tr>
<tr class="separator:ga215da63662423b00d34605ba4f9761f5"><td class="memSeparator" colspan="2"> </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  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga0f1d40875c45b14a31a77f27430bc225">pn_ssl_mode_t</a> { <a class="el" href="a00060.html#gga0f1d40875c45b14a31a77f27430bc225a4e2fe24fcd2692e4c20c27668091a49c">PN_SSL_MODE_CLIENT</a> =1,
<a class="el" href="a00060.html#gga0f1d40875c45b14a31a77f27430bc225a0c4550c70a6bc74cb906a74c5f1e5078">PN_SSL_MODE_SERVER</a>
}<tr class="memdesc:ga0f1d40875c45b14a31a77f27430bc225"><td class="mdescLeft"> </td><td class="mdescRight">Determines the type of SSL endpoint. <a href="a00060.html#ga0f1d40875c45b14a31a77f27430bc225">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga0f1d40875c45b14a31a77f27430bc225"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaf175c116d52a91001f9a3559b580f56d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#gaf175c116d52a91001f9a3559b580f56d">pn_ssl_resume_status_t</a> { <a class="el" href="a00060.html#ggaf175c116d52a91001f9a3559b580f56dad1385651f6078177d6652c385453280d">PN_SSL_RESUME_UNKNOWN</a>,
<a class="el" href="a00060.html#ggaf175c116d52a91001f9a3559b580f56dac8a5515a69c89007f681b3c555328e8f">PN_SSL_RESUME_NEW</a>,
<a class="el" href="a00060.html#ggaf175c116d52a91001f9a3559b580f56dabb1b88b78dcb91ee80cd6f0eb5873d6d">PN_SSL_RESUME_REUSED</a>
}<tr class="memdesc:gaf175c116d52a91001f9a3559b580f56d"><td class="mdescLeft"> </td><td class="mdescRight">Indicates whether an SSL session has been resumed. <a href="a00060.html#gaf175c116d52a91001f9a3559b580f56d">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gaf175c116d52a91001f9a3559b580f56d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gae5e33024ed6af3432d4c76d1484d7ecb"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#gae5e33024ed6af3432d4c76d1484d7ecb">pn_ssl_verify_mode_t</a> { <a class="el" href="a00060.html#ggae5e33024ed6af3432d4c76d1484d7ecbada1e3837cc900bd6419de72c25b253cc">PN_SSL_VERIFY_NULL</a> =0,
<a class="el" href="a00060.html#ggae5e33024ed6af3432d4c76d1484d7ecbad80276abde5d95760c63d0b9685d4d44">PN_SSL_VERIFY_PEER</a>,
<a class="el" href="a00060.html#ggae5e33024ed6af3432d4c76d1484d7ecbafa6dbe705dd0366ff4799616f788a9f5">PN_SSL_ANONYMOUS_PEER</a>,
<a class="el" href="a00060.html#ggae5e33024ed6af3432d4c76d1484d7ecbaac956f0febf05ab579de839700895e36">PN_SSL_VERIFY_PEER_NAME</a>
}<tr class="memdesc:gae5e33024ed6af3432d4c76d1484d7ecb"><td class="mdescLeft"> </td><td class="mdescRight">Determines the level of peer validation. <a href="a00060.html#gae5e33024ed6af3432d4c76d1484d7ecb">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gae5e33024ed6af3432d4c76d1484d7ecb"><td class="memSeparator" colspan="2"> </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="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga94467860b566683a4c646487dc537b34">pn_ssl_present</a> (void)</td></tr>
<tr class="memdesc:ga94467860b566683a4c646487dc537b34"><td class="mdescLeft"> </td><td class="mdescRight">Tests for SSL implementation present. <a href="a00060.html#ga94467860b566683a4c646487dc537b34">More...</a><br /></td></tr>
<tr class="separator:ga94467860b566683a4c646487dc537b34"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gabc9e5e64b23bf03316aa825ba036fb4f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> <a class="el" href="a00060.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#gabc9e5e64b23bf03316aa825ba036fb4f">pn_ssl_domain</a> (<a class="el" href="a00060.html#ga0f1d40875c45b14a31a77f27430bc225">pn_ssl_mode_t</a> mode)</td></tr>
<tr class="memdesc:gabc9e5e64b23bf03316aa825ba036fb4f"><td class="mdescLeft"> </td><td class="mdescRight">Create an SSL configuration domain. <a href="a00060.html#gabc9e5e64b23bf03316aa825ba036fb4f">More...</a><br /></td></tr>
<tr class="separator:gabc9e5e64b23bf03316aa825ba036fb4f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga2f0254dda9b35b5af99e744be243daaf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga2f0254dda9b35b5af99e744be243daaf">pn_ssl_domain_free</a> (<a class="el" href="a00060.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain)</td></tr>
<tr class="memdesc:ga2f0254dda9b35b5af99e744be243daaf"><td class="mdescLeft"> </td><td class="mdescRight">Release an SSL configuration domain. <a href="a00060.html#ga2f0254dda9b35b5af99e744be243daaf">More...</a><br /></td></tr>
<tr class="separator:ga2f0254dda9b35b5af99e744be243daaf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga13bc3cf2d0d2f3f612a513752e929251"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga13bc3cf2d0d2f3f612a513752e929251">pn_ssl_domain_set_credentials</a> (<a class="el" href="a00060.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"> </td><td class="mdescRight">Set the certificate that identifies the local node to the remote. <a href="a00060.html#ga13bc3cf2d0d2f3f612a513752e929251">More...</a><br /></td></tr>
<tr class="separator:ga13bc3cf2d0d2f3f612a513752e929251"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga20761fc3f72ab4d947a7c468a43758c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga20761fc3f72ab4d947a7c468a43758c9">pn_ssl_domain_set_trusted_ca_db</a> (<a class="el" href="a00060.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain, const char *certificate_db)</td></tr>
<tr class="memdesc:ga20761fc3f72ab4d947a7c468a43758c9"><td class="mdescLeft"> </td><td class="mdescRight">Configure the set of trusted CA certificates used by this domain to verify peers. <a href="a00060.html#ga20761fc3f72ab4d947a7c468a43758c9">More...</a><br /></td></tr>
<tr class="separator:ga20761fc3f72ab4d947a7c468a43758c9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gacba0321d3d8cd67c601b604a5b42a190"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#gacba0321d3d8cd67c601b604a5b42a190">pn_ssl_domain_set_peer_authentication</a> (<a class="el" href="a00060.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain, const <a class="el" href="a00060.html#gae5e33024ed6af3432d4c76d1484d7ecb">pn_ssl_verify_mode_t</a> mode, const char *trusted_CAs)</td></tr>
<tr class="memdesc:gacba0321d3d8cd67c601b604a5b42a190"><td class="mdescLeft"> </td><td class="mdescRight">Configure the level of verification used on the peer certificate. <a href="a00060.html#gacba0321d3d8cd67c601b604a5b42a190">More...</a><br /></td></tr>
<tr class="separator:gacba0321d3d8cd67c601b604a5b42a190"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7bf33cfae6dcd6513da926eff993896d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga7bf33cfae6dcd6513da926eff993896d">pn_ssl_domain_allow_unsecured_client</a> (<a class="el" href="a00060.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain)</td></tr>
<tr class="memdesc:ga7bf33cfae6dcd6513da926eff993896d"><td class="mdescLeft"> </td><td class="mdescRight">Permit a server to accept connection requests from non-SSL clients. <a href="a00060.html#ga7bf33cfae6dcd6513da926eff993896d">More...</a><br /></td></tr>
<tr class="separator:ga7bf33cfae6dcd6513da926eff993896d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gace9c2c01043714e64fe97a390ffeac87"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> <a class="el" href="a00060.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#gace9c2c01043714e64fe97a390ffeac87">pn_ssl</a> (<a class="el" href="a00062.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a> *transport)</td></tr>
<tr class="memdesc:gace9c2c01043714e64fe97a390ffeac87"><td class="mdescLeft"> </td><td class="mdescRight">Create a new SSL session object associated with a transport. <a href="a00060.html#gace9c2c01043714e64fe97a390ffeac87">More...</a><br /></td></tr>
<tr class="separator:gace9c2c01043714e64fe97a390ffeac87"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gac5f8d77f86808ae8401691bcd17daa77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#gac5f8d77f86808ae8401691bcd17daa77">pn_ssl_init</a> (<a class="el" href="a00060.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl, <a class="el" href="a00060.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain, const char *session_id)</td></tr>
<tr class="memdesc:gac5f8d77f86808ae8401691bcd17daa77"><td class="mdescLeft"> </td><td class="mdescRight">Initialize an SSL session. <a href="a00060.html#gac5f8d77f86808ae8401691bcd17daa77">More...</a><br /></td></tr>
<tr class="separator:gac5f8d77f86808ae8401691bcd17daa77"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7ea4334e4925b50cb6c6daa4795cdfa0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga7ea4334e4925b50cb6c6daa4795cdfa0">pn_ssl_get_cipher_name</a> (<a class="el" href="a00060.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl, char *buffer, size_t size)</td></tr>
<tr class="memdesc:ga7ea4334e4925b50cb6c6daa4795cdfa0"><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the Cipher that is currently in use. <a href="a00060.html#ga7ea4334e4925b50cb6c6daa4795cdfa0">More...</a><br /></td></tr>
<tr class="separator:ga7ea4334e4925b50cb6c6daa4795cdfa0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga4a1837eb135461f71da666f3438c7602"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga4a1837eb135461f71da666f3438c7602">pn_ssl_get_ssf</a> (<a class="el" href="a00060.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl)</td></tr>
<tr class="memdesc:ga4a1837eb135461f71da666f3438c7602"><td class="mdescLeft"> </td><td class="mdescRight">Get the SSF (security strength factor) of the Cipher that is currently in use. <a href="a00060.html#ga4a1837eb135461f71da666f3438c7602">More...</a><br /></td></tr>
<tr class="separator:ga4a1837eb135461f71da666f3438c7602"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga1636bdfcc884dbae248f0316ae2a076f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga1636bdfcc884dbae248f0316ae2a076f">pn_ssl_get_protocol_name</a> (<a class="el" href="a00060.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl, char *buffer, size_t size)</td></tr>
<tr class="memdesc:ga1636bdfcc884dbae248f0316ae2a076f"><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the SSL protocol that is currently in use. <a href="a00060.html#ga1636bdfcc884dbae248f0316ae2a076f">More...</a><br /></td></tr>
<tr class="separator:ga1636bdfcc884dbae248f0316ae2a076f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga543c4d6b34f107f41a2812b15e370523"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> <a class="el" href="a00060.html#gaf175c116d52a91001f9a3559b580f56d">pn_ssl_resume_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga543c4d6b34f107f41a2812b15e370523">pn_ssl_resume_status</a> (<a class="el" href="a00060.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl)</td></tr>
<tr class="memdesc:ga543c4d6b34f107f41a2812b15e370523"><td class="mdescLeft"> </td><td class="mdescRight">Check whether the state has been resumed. <a href="a00060.html#ga543c4d6b34f107f41a2812b15e370523">More...</a><br /></td></tr>
<tr class="separator:ga543c4d6b34f107f41a2812b15e370523"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga733943a1e722653b5c1f36b7de670ee5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga733943a1e722653b5c1f36b7de670ee5">pn_ssl_set_peer_hostname</a> (<a class="el" href="a00060.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl, const char *hostname)</td></tr>
<tr class="memdesc:ga733943a1e722653b5c1f36b7de670ee5"><td class="mdescLeft"> </td><td class="mdescRight">Set the expected identity of the remote peer. <a href="a00060.html#ga733943a1e722653b5c1f36b7de670ee5">More...</a><br /></td></tr>
<tr class="separator:ga733943a1e722653b5c1f36b7de670ee5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gabc678b1162484ec8eeddba8b594b1f74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#gabc678b1162484ec8eeddba8b594b1f74">pn_ssl_get_peer_hostname</a> (<a class="el" href="a00060.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl, char *hostname, size_t *bufsize)</td></tr>
<tr class="memdesc:gabc678b1162484ec8eeddba8b594b1f74"><td class="mdescLeft"> </td><td class="mdescRight">Access the configured peer identity. <a href="a00060.html#gabc678b1162484ec8eeddba8b594b1f74">More...</a><br /></td></tr>
<tr class="separator:gabc678b1162484ec8eeddba8b594b1f74"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga41e9ea2af96fcbc34fda2e72cff40f2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00022.html#acfa9628d87130a64f95ee17c57a7c13b">PN_EXTERN</a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ga41e9ea2af96fcbc34fda2e72cff40f2c">pn_ssl_get_remote_subject</a> (<a class="el" href="a00060.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl)</td></tr>
<tr class="memdesc:ga41e9ea2af96fcbc34fda2e72cff40f2c"><td class="mdescLeft"> </td><td class="mdescRight">Get the subject from the peers certificate. <a href="a00060.html#ga41e9ea2af96fcbc34fda2e72cff40f2c">More...</a><br /></td></tr>
<tr class="separator:ga41e9ea2af96fcbc34fda2e72cff40f2c"><td class="memSeparator" colspan="2"> </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="a00060.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="a00060.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="a00060.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="a00060.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="a00060.html#gac5f8d77f86808ae8401691bcd17daa77" title="Initialize an SSL session. ">pn_ssl_init</a>, <a class="el" href="a00060.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 Mon Apr 4 2016 09:18:57 for proton by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
|