blob: 6b8bd1568e4818459a7f64319f655a959f89bba8 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Qpid Proton C API: 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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</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">Qpid Proton C API
&#160;<span id="projectnumber">0.32.0</span>
</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.svg"
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.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('ssl_8h.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- 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 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>SSL secure transport layer.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;proton/import_export.h&gt;</code><br />
<code>#include &lt;proton/type_compat.h&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="memdesc:gaba83c3a1779c8b35a479bf3a7bb5b175"><td class="mdescLeft">&#160;</td><td class="mdescRight">API for using SSL with the Transport Layer. <a href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">More...</a><br /></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>,
<a class="el" href="group__ssl.html#gga0f1d40875c45b14a31a77f27430bc225a0c4550c70a6bc74cb906a74c5f1e5078">PN_SSL_MODE_SERVER</a>
}</td></tr>
<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>
<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>
}</td></tr>
<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>
<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>,
<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>
}</td></tr>
<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>
<tr class="separator:gae5e33024ed6af3432d4c76d1484d7ecb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68d52866e8172acc7ecc7b4fe5b38a40"><td class="memItemLeft" align="right" valign="top"><a id="ga68d52866e8172acc7ecc7b4fe5b38a40"></a>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;<b>PN_SSL_CERT_SUBJECT_COUNTRY_NAME</b>,
<b>PN_SSL_CERT_SUBJECT_STATE_OR_PROVINCE</b>,
<b>PN_SSL_CERT_SUBJECT_CITY_OR_LOCALITY</b>,
<b>PN_SSL_CERT_SUBJECT_ORGANIZATION_NAME</b>,
<br />
&#160;&#160;<b>PN_SSL_CERT_SUBJECT_ORGANIZATION_UNIT</b>,
<b>PN_SSL_CERT_SUBJECT_COMMON_NAME</b>
<br />
}</td></tr>
<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. <br /></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"><a id="gaf0b0cd3271ad4a0e33e2a61a8cea7892"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gaf0b0cd3271ad4a0e33e2a61a8cea7892">pn_ssl_hash_alg</a> { <b>PN_SSL_SHA1</b>,
<b>PN_SSL_SHA256</b>,
<b>PN_SSL_SHA512</b>,
<b>PN_SSL_MD5</b>
}</td></tr>
<tr class="memdesc:gaf0b0cd3271ad4a0e33e2a61a8cea7892"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration identifying hashing algorithm. <br /></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:gaec849c8189c12da727e7be7ca757dbdb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gaec849c8189c12da727e7be7ca757dbdb">pn_ssl_present</a> (void)</td></tr>
<tr class="memdesc:gaec849c8189c12da727e7be7ca757dbdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for SSL implementation present. <a href="group__ssl.html#gaec849c8189c12da727e7be7ca757dbdb">More...</a><br /></td></tr>
<tr class="separator:gaec849c8189c12da727e7be7ca757dbdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab5e86b7a4d22943eba82c6e94b82357"><td class="memItemLeft" align="right" valign="top"><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#gaab5e86b7a4d22943eba82c6e94b82357">pn_ssl_domain</a> (<a class="el" href="group__ssl.html#ga0f1d40875c45b14a31a77f27430bc225">pn_ssl_mode_t</a> mode)</td></tr>
<tr class="memdesc:gaab5e86b7a4d22943eba82c6e94b82357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an SSL configuration domain. <a href="group__ssl.html#gaab5e86b7a4d22943eba82c6e94b82357">More...</a><br /></td></tr>
<tr class="separator:gaab5e86b7a4d22943eba82c6e94b82357"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5452ded9c36d78a17c6dea292a01c80d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga5452ded9c36d78a17c6dea292a01c80d">pn_ssl_domain_free</a> (<a class="el" href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain)</td></tr>
<tr class="memdesc:ga5452ded9c36d78a17c6dea292a01c80d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release an SSL configuration domain. <a href="group__ssl.html#ga5452ded9c36d78a17c6dea292a01c80d">More...</a><br /></td></tr>
<tr class="separator:ga5452ded9c36d78a17c6dea292a01c80d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7311e46bb756474513f3c331e0c1b0aa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga7311e46bb756474513f3c331e0c1b0aa">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:ga7311e46bb756474513f3c331e0c1b0aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the certificate that identifies the local node to the remote. <a href="group__ssl.html#ga7311e46bb756474513f3c331e0c1b0aa">More...</a><br /></td></tr>
<tr class="separator:ga7311e46bb756474513f3c331e0c1b0aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6cdf12ad6ff3d50ac1d31db3cff11c2d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga6cdf12ad6ff3d50ac1d31db3cff11c2d">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:ga6cdf12ad6ff3d50ac1d31db3cff11c2d"><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#ga6cdf12ad6ff3d50ac1d31db3cff11c2d">More...</a><br /></td></tr>
<tr class="separator:ga6cdf12ad6ff3d50ac1d31db3cff11c2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39b67bd22fb8f0a47bcdbdfd40f80b11"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga39b67bd22fb8f0a47bcdbdfd40f80b11">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:ga39b67bd22fb8f0a47bcdbdfd40f80b11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure the level of verification used on the peer certificate. <a href="group__ssl.html#ga39b67bd22fb8f0a47bcdbdfd40f80b11">More...</a><br /></td></tr>
<tr class="separator:ga39b67bd22fb8f0a47bcdbdfd40f80b11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga333fcb941ed20421373f37b23d84fc98"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga333fcb941ed20421373f37b23d84fc98">pn_ssl_domain_set_protocols</a> (<a class="el" href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain, const char *protocols)</td></tr>
<tr class="memdesc:ga333fcb941ed20421373f37b23d84fc98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure the list of permitted TLS protocols. <a href="group__ssl.html#ga333fcb941ed20421373f37b23d84fc98">More...</a><br /></td></tr>
<tr class="separator:ga333fcb941ed20421373f37b23d84fc98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3da0f48aeeb11d8149a559a2a064ddc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#gac3da0f48aeeb11d8149a559a2a064ddc">pn_ssl_domain_set_ciphers</a> (<a class="el" href="group__ssl.html#gaba83c3a1779c8b35a479bf3a7bb5b175">pn_ssl_domain_t</a> *domain, const char *ciphers)</td></tr>
<tr class="memdesc:gac3da0f48aeeb11d8149a559a2a064ddc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure the list of permitted ciphers. <a href="group__ssl.html#gac3da0f48aeeb11d8149a559a2a064ddc">More...</a><br /></td></tr>
<tr class="separator:gac3da0f48aeeb11d8149a559a2a064ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ac989a62dcd138be770fae0bbb85e74"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga2ac989a62dcd138be770fae0bbb85e74">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:ga2ac989a62dcd138be770fae0bbb85e74"><td class="mdescLeft">&#160;</td><td class="mdescRight"><b>Deprecated</b> - Use <a class="el" href="group__transport.html#gaeb7e30ead4a6ab080d0005379be20e34" title="Set whether a non encrypted transport connection is allowed.">pn_transport_require_encryption()</a> <a href="group__ssl.html#ga2ac989a62dcd138be770fae0bbb85e74">More...</a><br /></td></tr>
<tr class="separator:ga2ac989a62dcd138be770fae0bbb85e74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaeb5284b45f9e2146ff671b1ddc9420c"><td class="memItemLeft" align="right" valign="top"><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#gaaeb5284b45f9e2146ff671b1ddc9420c">pn_ssl</a> (<a class="el" href="group__transport.html#gac26eda05f649bbf0399f3d8d78d12fa8">pn_transport_t</a> *transport)</td></tr>
<tr class="memdesc:gaaeb5284b45f9e2146ff671b1ddc9420c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new SSL session object associated with a transport. <a href="group__ssl.html#gaaeb5284b45f9e2146ff671b1ddc9420c">More...</a><br /></td></tr>
<tr class="separator:gaaeb5284b45f9e2146ff671b1ddc9420c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45f319dd31ad456b8a85927888f94acf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga45f319dd31ad456b8a85927888f94acf">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:ga45f319dd31ad456b8a85927888f94acf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize an SSL session. <a href="group__ssl.html#ga45f319dd31ad456b8a85927888f94acf">More...</a><br /></td></tr>
<tr class="separator:ga45f319dd31ad456b8a85927888f94acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga47653f84f4b5e3bad46c08d4e82a2c52"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga47653f84f4b5e3bad46c08d4e82a2c52">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:ga47653f84f4b5e3bad46c08d4e82a2c52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of the Cipher that is currently in use. <a href="group__ssl.html#ga47653f84f4b5e3bad46c08d4e82a2c52">More...</a><br /></td></tr>
<tr class="separator:ga47653f84f4b5e3bad46c08d4e82a2c52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7fa81d6e5f9b28f90558ab8dd3c4fb1d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga7fa81d6e5f9b28f90558ab8dd3c4fb1d">pn_ssl_get_ssf</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl)</td></tr>
<tr class="memdesc:ga7fa81d6e5f9b28f90558ab8dd3c4fb1d"><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#ga7fa81d6e5f9b28f90558ab8dd3c4fb1d">More...</a><br /></td></tr>
<tr class="separator:ga7fa81d6e5f9b28f90558ab8dd3c4fb1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03e8070271747c3901d8d6e5710c0066"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga03e8070271747c3901d8d6e5710c0066">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:ga03e8070271747c3901d8d6e5710c0066"><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#ga03e8070271747c3901d8d6e5710c0066">More...</a><br /></td></tr>
<tr class="separator:ga03e8070271747c3901d8d6e5710c0066"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f1a1d6697994bac00edc3df200a8f5f"><td class="memItemLeft" align="right" valign="top"><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#ga5f1a1d6697994bac00edc3df200a8f5f">pn_ssl_resume_status</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl)</td></tr>
<tr class="memdesc:ga5f1a1d6697994bac00edc3df200a8f5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether the state has been resumed. <a href="group__ssl.html#ga5f1a1d6697994bac00edc3df200a8f5f">More...</a><br /></td></tr>
<tr class="separator:ga5f1a1d6697994bac00edc3df200a8f5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15d46dcd823ebd42b9f7f63ed570080a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga15d46dcd823ebd42b9f7f63ed570080a">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:ga15d46dcd823ebd42b9f7f63ed570080a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the expected identity of the remote peer. <a href="group__ssl.html#ga15d46dcd823ebd42b9f7f63ed570080a">More...</a><br /></td></tr>
<tr class="separator:ga15d46dcd823ebd42b9f7f63ed570080a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76636a5ce4696284356321226ee0731c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga76636a5ce4696284356321226ee0731c">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:ga76636a5ce4696284356321226ee0731c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access the configured peer identity. <a href="group__ssl.html#ga76636a5ce4696284356321226ee0731c">More...</a><br /></td></tr>
<tr class="separator:ga76636a5ce4696284356321226ee0731c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11c877302188bc852cfdc9efd6de58c3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga11c877302188bc852cfdc9efd6de58c3">pn_ssl_get_remote_subject</a> (<a class="el" href="group__ssl.html#ga215da63662423b00d34605ba4f9761f5">pn_ssl_t</a> *ssl)</td></tr>
<tr class="memdesc:ga11c877302188bc852cfdc9efd6de58c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the subject from the peers certificate. <a href="group__ssl.html#ga11c877302188bc852cfdc9efd6de58c3">More...</a><br /></td></tr>
<tr class="separator:ga11c877302188bc852cfdc9efd6de58c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga324db5da83b1abad2e948481d65119d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga324db5da83b1abad2e948481d65119d4">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:ga324db5da83b1abad2e948481d65119d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the fingerprint of the certificate. <a href="group__ssl.html#ga324db5da83b1abad2e948481d65119d4">More...</a><br /></td></tr>
<tr class="separator:ga324db5da83b1abad2e948481d65119d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c9e8827536b9929793045771d82bdf1"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ssl.html#ga0c9e8827536b9929793045771d82bdf1">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:ga0c9e8827536b9929793045771d82bdf1"><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#ga0c9e8827536b9929793045771d82bdf1">More...</a><br /></td></tr>
<tr class="separator:ga0c9e8827536b9929793045771d82bdf1"><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>SSL secure transport layer. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_3a71568e5d046e5ed52679664c3002a5.html">proton</a></li><li class="navelem"><a class="el" href="ssl_8h.html">ssl.h</a></li>
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
</ul>
</div>
</body>
</html>