mirror of
https://github.com/Icinga/icinga2.git
synced 2025-08-24 02:59:17 +02:00
56 lines
1.9 KiB
ReStructuredText
56 lines
1.9 KiB
ReStructuredText
.. figure:: logo.jpg
|
|
:alt: Boost.Wintls logo
|
|
|
|
Overview
|
|
========
|
|
|
|
This library implements TLS stream functionality for `boost::asio`_
|
|
using native Windows `SSPI/Schannel`_ implementation.
|
|
|
|
To the extend possible it provides the same functionality as the
|
|
`OpenSSL`_ implementation used by `boost::asio`_ and provides some
|
|
helper :ref:`functions<functions>` for converting and managing certificates and keys in
|
|
standard formats used by `OpenSSL`_.
|
|
|
|
Released under the `Boost Software License`_. Source code available on `GitHub`_.
|
|
|
|
Motivation
|
|
----------
|
|
|
|
`boost::asio`_ uses `OpenSSL`_ for TLS encryption which has a few
|
|
downsides when used on Windows:
|
|
|
|
* Requires maintaining a separate copy of trusted certificate
|
|
authorities although the operating system already ships with and
|
|
maintains a store of trusted certificates.
|
|
|
|
* When used as a server, `OpenSSL`_ requires access to the private key
|
|
as a file readable by the running process which could potentially
|
|
lead to security issues if measures are not taken to ensure the
|
|
private key is properly protected.
|
|
|
|
* Installing third party libraries and software in general on Windows
|
|
is often a complicated process since no central packaging system
|
|
exists, so any security updates to `OpenSSL`_ would have to be
|
|
maintained by the software using the `boost::asio`_ library.
|
|
|
|
This library avoids these issues by using the native Windows TLS
|
|
implementation (`SSPI/SChannel`_) which uses the methods for storing
|
|
certificates and keys provided by the Windows operating system itself.
|
|
|
|
Contents
|
|
--------
|
|
.. toctree::
|
|
:maxdepth: 3
|
|
|
|
usage
|
|
examples
|
|
API
|
|
|
|
|
|
.. _SSPI/Schannel: https://docs.microsoft.com/en-us/windows-server/security/tls/tls-ssl-schannel-ssp-overview/
|
|
.. _OpenSSL: https://www.openssl.org/
|
|
.. _boost::asio: https://www.boost.org/doc/libs/release/doc/html/boost_asio.html
|
|
.. _Boost Software License: https://www.boost.org/LICENSE_1_0.txt
|
|
.. _GitHub: https://github.com/laudrup/boost-wintls
|