aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/api_ref/tls.rst30
1 files changed, 16 insertions, 14 deletions
diff --git a/doc/api_ref/tls.rst b/doc/api_ref/tls.rst
index 5a6c953b1..90fe2f555 100644
--- a/doc/api_ref/tls.rst
+++ b/doc/api_ref/tls.rst
@@ -1618,6 +1618,7 @@ It offers the following interface:
Construct a new TLS stream.
The *context* parameter will be used to set up the underlying *native handle*, i.e. the :ref:`TLS::Client <tls_client>`, when :cpp:func:`handshake` is called.
+ Using code must ensure the context is kept alive for the lifetime of the stream.
The further *args* will be forwarded to the *next layer*'s constructor.
.. cpp:function:: template <typename... Args> \
@@ -1694,22 +1695,23 @@ It offers the following interface:
The return type is an automatically deduced specialization of :cpp:class:`boost::asio::async_result`, depending on the *WriteHandler* type.
*WriteHandler* should suffice the `requirements to a Boost.Asio write handler <https://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio/reference/WriteHandler.html>`_.
-.. cpp:struct:: TLS::Context
+.. cpp:class:: TLS::Context
- A helper struct to collect the initialization parameters for the Stream's underlying *native handle* (see :cpp:class:`TLS::Client`).
- `TLS::Context` is defined as
+ A helper class to initialize and configure the Stream's underlying *native handle* (see :cpp:class:`TLS::Client`).
- .. code-block:: cpp
+ .. cpp:function:: Context(Credentials_Manager* credentialsManager, \
+ RandomNumberGenerator* randomNumberGenerator, \
+ Session_Manager* sessionManager, \
+ Policy* policy, \
+ Server_Information serverInfo = Server_Information())
- struct Context
- {
- Credentials_Manager* credentialsManager;
- RandomNumberGenerator* randomNumberGenerator;
- Session_Manager* sessionManager;
- Policy* policy;
- Server_Information serverInfo;
- };
+ Constructor for TLS::Context.
+ .. cpp:function:: void set_verify_callback(Verify_Callback_T callback)
+
+ Set a user-defined callback function for certificate chain verification. This
+ will cause the stream to override the default implementation of the
+ :cpp:func:`tls_verify_cert_chain` callback.
Stream Code Example
^^^^^^^^^^^^^^^^^^^^
@@ -1753,11 +1755,11 @@ Stream Code Example
boost::asio::ip::tcp::resolver::iterator endpoint_iterator,
http::request<http::string_body> req)
: request_(req)
- , ctx_{&credentials_mgr_,
+ , ctx_(&credentials_mgr_,
&rng_,
&session_mgr_,
&policy_,
- Botan::TLS::Server_Information()}
+ Botan::TLS::Server_Information())
, stream_(io_context, ctx_)
{
boost::asio::async_connect(stream_.lowest_layer(), endpoint_iterator,