36ee1e2015-10-12Pontus Östlund <!doctype html>
86d41b2014-05-02Henrik Grubbström (Grubba) <html> <head>
36ee1e2015-10-12Pontus Östlund  <meta content="width=device-width, initial-scale=1" name="viewport">
7e5ead2016-01-20Pontus Östlund  <meta charset="utf-8">
c0c2c82016-11-14Pontus Östlund  <title>SSL.handshake - Pike Reference Manual</title>
0780872016-10-04Pontus Östlund  <!-- 221-->
36ee1e2015-10-12Pontus Östlund  <link rel='stylesheet' href='../../../style.css'> <script src='../../../site.js'></script>
0780872016-10-04Pontus Östlund  <script src='../../../constants.js'></script> <script>PikeDoc.NO_DYNAMIC = true;</script>
86d41b2014-05-02Henrik Grubbström (Grubba)  <style type='text/css'> svg line { stroke:#343434; stroke-width:2; } svg text { fill:#343434; } svg a { fill:#0768b2; text-decoration: underline; } </style> </head>
36ee1e2015-10-12Pontus Östlund  <body>
86d41b2014-05-02Henrik Grubbström (Grubba)  <header>
36ee1e2015-10-12Pontus Östlund  <div class="header">
0e3f092016-04-19Henrik Grubbström (Grubba)  <div id="version"><strong data-id="version"></strong></div>
ed0b3d2016-12-10Martin Nilsson  <button id="burger"> <span class="bar"></span> <span class="bar"></span> <span class="bar"></span> <span class="bar"></span> </button><!-- Hamburger icon -->
7e5ead2016-01-20Pontus Östlund  <h1>
0e3f092016-04-19Henrik Grubbström (Grubba)  <a href="http://pike.lysator.liu.se/" class="logo">
7e5ead2016-01-20Pontus Östlund  <span>Pike programming language</span> </a> </h1>
86d41b2014-05-02Henrik Grubbström (Grubba)  </div> </header>
36ee1e2015-10-12Pontus Östlund  <div id="page">
86d41b2014-05-02Henrik Grubbström (Grubba)  <div class="navbar">
36ee1e2015-10-12Pontus Östlund  <nav>
7e5ead2016-01-20Pontus Östlund  <div class="inner" id="navbar">
36ee1e2015-10-12Pontus Östlund  <a href='../../../index.html'><b class='top head'>Top</b></a>
86d41b2014-05-02Henrik Grubbström (Grubba) <a href='../../../ex/7.8_3A_3A.html'><b class='head'>7.8::</b></a> <a href='../../../ex/7.8_3A_3A/SSL.html'><b class='head'>SSL</b></a> <b class='selected head'>SSL.handshake</b> <script></script> <noscript> <div class='sidebar'> <a href='../../../ex/7.8_3A_3A/SSL/handshake/index.html'><b>Symbol index</b></a><br /> </div> </noscript>
36ee1e2015-10-12Pontus Östlund  </div> </nav>
86d41b2014-05-02Henrik Grubbström (Grubba)  </div>
36ee1e2015-10-12Pontus Östlund  <div class="content"> <div class="navbox"> <nav> <div class="sidebar"> <a href="../../../ex/7.8_3A_3A/SSL/context/set_trusted_issuers.html" class="prev"><span>&#10148;</span> SSL.context()-&gt;set_trusted_issuers()</a> <a href="../../../ex/7.8_3A_3A/SSL/handshake/create.html" class="next">SSL.handshake()-&gt;create() <span>&#10148;</span></a> </div> </nav> </div> <div class="contentbox"> <article> <h1>Class SSL.handshake</h1>
86d41b2014-05-02Henrik Grubbström (Grubba) <dt class='head--doc'>Inheritance graph</dt> <div class='inheritance-graph'><svg xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' width='100%' height='45px'> <text x='0' y='20'><tspan style='font-family:monospace; font-weight:bold;'>7.8::SSL.handshake</tspan></text> <line x1='5' y1='25' x2='5' y2='36' /> <line x1='4' y1='35' x2='35' y2='35' /> <text x='40' y='40'><a class='ms reference' xlink:href='../../7.8_3A_3A/SSL/connection.html'>7.8::SSL.connection</a></text> </svg></div> <dl class='group--doc'> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>SSL.handshake keeps the state relevant for SSL handshaking. This includes a pointer to a context object (which doesn't change), various buffers, a pointer to a session object (reuse or created as appropriate), and pending read and write states being negotiated.</p> <p> Each connection will have two sets or read and write state: The current read and write states used for encryption, and pending read and write states to be taken into use when the current keyexchange handshake is finished.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Variable</span> <span class='homogen--name'><b>client_cert_types</b></span><br> <span class='homogen--type'>Variable</span> <span class='homogen--name'><b>client_cert_distinguished_names</b></span><br> </dt> <dd><p><code><code class='datatype'>array</code>(<code class='datatype'>int</code>) SSL.handshake.<b><span class='variable'>client_cert_types</span></b></code><br> <code><code class='datatype'>array</code>(<code class='datatype'>string</code>) SSL.handshake.<b><span class='variable'>client_cert_distinguished_names</span></b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>A few storage variables for client certificate handling on the client side.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Variable</span> <span class='homogen--name'><b>client_random</b></span><br> <span class='homogen--type'>Variable</span> <span class='homogen--name'><b>server_random</b></span><br> </dt> <dd><p><code><code class='datatype'>string</code> SSL.handshake.<b><span class='variable'>client_random</span></b></code><br> <code><code class='datatype'>string</code> SSL.handshake.<b><span class='variable'>server_random</span></b></code></p></dd> <dt class='head--doc'>Description</dt> <dd class='body--doc'><p>Random cookies, sent and received with the hello-messages.</p> </dd></dl> <hr /> <dl class='group--doc'> <dt class='head--type'><span class='homogen--type'>Method</span> <span class='homogen--name'><b>create</b></span> </dt> <dd><p><code><span class='object'>SSL.handshake</span> <span class='class'>SSL.handshake</span><b>(</b><code class='datatype'>int</code> <code class='argument'>is_server</code>, <code class='datatype'>void</code>|<code class='object resolved'><a class='ms reference' href='../../7.8_3A_3A/SSL/context.html'>SSL.context</a></code> <code class='argument'>ctx</code>, <code class='datatype'>void</code>|<code class='object resolved'><a class='ms reference' href='../../7.8_3A_3A/SSL/Constants/ProtocolVersion.html'>ProtocolVersion</a></code> <code class='argument'>min_version</code>, <code class='datatype'>void</code>|<code class='object resolved'><a class='ms reference' href='../../7.8_3A_3A/SSL/Constants/ProtocolVersion.html'>ProtocolVersion</a></code> <code class='argument'>max_version</code><b>)</b></code></p></dd> <dt class='head--doc'><span id='p-is_server'></span>Parameter <code class='parameter'>is_server</code></dt> <dd></dd><dd class='body--doc'><p>Whether this is the server end of the connection or not.</p> </dd> <dt class='head--doc'><span id='p-ctx'></span>Parameter <code class='parameter'>ctx</code></dt> <dd></dd><dd class='body--doc'><p>The context for the connection.</p> </dd> <dt class='head--doc'><span id='p-min_version'></span>Parameter <code class='parameter'>min_version</code></dt> <dd></dd><dd class='body--doc'><p>Minimum version of SSL to support.
d147292022-11-06Peter Bortas  Defaults to <a class='ms reference' href='../../7.8_3A_3A/SSL/Constants/ProtocolVersion.html'>Constants.PROTOCOL_SSL_3_0</a>.</p>
86d41b2014-05-02Henrik Grubbström (Grubba) </dd> <dt class='head--doc'><span id='p-max_version'></span>Parameter <code class='parameter'>max_version</code></dt> <dd></dd><dd class='body--doc'><p>Maximum version of SSL to support. Defaults to <a class='ms reference' href='../../7.8_3A_3A/SSL/Constants.html'>Constants.PROTOCOL_minor</a>.</p> </dd></dl>
36ee1e2015-10-12Pontus Östlund  </article> </div>
86d41b2014-05-02Henrik Grubbström (Grubba)  </div> </div>
36ee1e2015-10-12Pontus Östlund  <footer>
0780872016-10-04Pontus Östlund  <div id="build-date">Extracted from <strong data-id="version"></strong> as of <strong data-id="date" data-timestamp=""></strong>.</div>
36ee1e2015-10-12Pontus Östlund  </footer>
7e5ead2016-01-20Pontus Östlund  <script>PikeDoc.current = {"link":"ex/7.8_3A_3A/SSL/handshake.html","name":"handshake"};</script>
86d41b2014-05-02Henrik Grubbström (Grubba) <script src='../../../ex/7.8_3A_3A/SSL/index.js'></script> <script src='../../../ex/7.8_3A_3A/SSL/handshake/load_index.js'></script>
7e5ead2016-01-20Pontus Östlund  <script> // Tell PikeDoc that next actions are from loaded scripts PikeDoc.isInline = false; </script> </body>
86d41b2014-05-02Henrik Grubbström (Grubba) </html>