3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>websocket::stream::secure_prng</title>
5 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../../index.html" title="Chapter 1. Boost.Beast">
8 <link rel="up" href="../boost__beast__websocket__stream.html" title="websocket::stream">
9 <link rel="prev" href="reason.html" title="websocket::stream::reason">
10 <link rel="next" href="set_option.html" title="websocket::stream::set_option">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
22 <div class="spirit-nav">
23 <a accesskey="p" href="reason.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost__beast__websocket__stream.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h5 class="title">
27 <a name="beast.ref.boost__beast__websocket__stream.secure_prng"></a><a class="link" href="secure_prng.html" title="websocket::stream::secure_prng">websocket::stream::secure_prng</a>
28 </h5></div></div></div>
30 <a class="indexterm" name="idm45873470464144"></a>
31 Set whether the PRNG is cryptographically secure.
34 <a name="beast.ref.boost__beast__websocket__stream.secure_prng.h0"></a>
35 <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.secure_prng.synopsis"></a></span><a class="link" href="secure_prng.html#beast.ref.boost__beast__websocket__stream.secure_prng.synopsis">Synopsis</a>
37 <pre class="programlisting"><span class="keyword">void</span>
38 <span class="identifier">secure_prng</span><span class="special">(</span>
39 <span class="keyword">bool</span> <span class="identifier">value</span><span class="special">);</span>
42 <a name="beast.ref.boost__beast__websocket__stream.secure_prng.h1"></a>
43 <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.secure_prng.description"></a></span><a class="link" href="secure_prng.html#beast.ref.boost__beast__websocket__stream.secure_prng.description">Description</a>
46 This controls whether or not the source of pseudo-random numbers used to
47 produce the masks required by the WebSocket protocol are of cryptographic
48 quality. When the setting is <code class="computeroutput"><span class="keyword">true</span></code>,
49 a strong algorithm is used which cannot be guessed by observing outputs.
50 When the setting is <code class="computeroutput"><span class="keyword">false</span></code>,
51 a much faster algorithm is used. Masking is only performed by streams operating
52 in the client mode. For streams operating in the server mode, this setting
53 has no effect. By default, newly constructed streams use a secure PRNG.
54 If the WebSocket stream is used with an encrypted SSL or TLS next layer,
55 if it is known to the application that intermediate proxies are not vulnerable
56 to cache poisoning, or if the application is designed such that an attacker
57 cannot send arbitrary inputs to the stream interface, then the faster algorithm
58 may be used. For more information please consult the WebSocket protocol
62 <a name="beast.ref.boost__beast__websocket__stream.secure_prng.h2"></a>
63 <span class="phrase"><a name="beast.ref.boost__beast__websocket__stream.secure_prng.parameters"></a></span><a class="link" href="secure_prng.html#beast.ref.boost__beast__websocket__stream.secure_prng.parameters">Parameters</a>
65 <div class="informaltable"><table class="table">
85 <code class="computeroutput"><span class="identifier">value</span></code>
90 <code class="computeroutput"><span class="keyword">true</span></code> if the PRNG
91 algorithm should be cryptographically secure.
97 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
98 <td align="left"></td>
99 <td align="right"><div class="copyright-footer">Copyright © 2016-2019 Vinnie
101 Distributed under the Boost Software License, Version 1.0. (See accompanying
102 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
107 <div class="spirit-nav">
108 <a accesskey="p" href="reason.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost__beast__websocket__stream.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="set_option.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>