monero/contrib/epee/include
Martijn Otto 057c279cb4
epee: add SSL support
RPC connections now have optional tranparent SSL.

An optional private key and certificate file can be passed,
using the --{rpc,daemon}-ssl-private-key and
--{rpc,daemon}-ssl-certificate options. Those have as
argument a path to a PEM format private private key and
certificate, respectively.
If not given, a temporary self signed certificate will be used.

SSL can be enabled or disabled using --{rpc}-ssl, which
accepts autodetect (default), disabled or enabled.

Access can be restricted to particular certificates using the
--rpc-ssl-allowed-certificates, which takes a list of
paths to PEM encoded certificates. This can allow a wallet to
connect to only the daemon they think they're connected to,
by forcing SSL and listing the paths to the known good
certificates.

To generate long term certificates:

openssl genrsa -out /tmp/KEY 4096
openssl req -new -key /tmp/KEY -out /tmp/REQ
openssl x509 -req -days 999999 -sha256 -in /tmp/REQ -signkey /tmp/KEY -out /tmp/CERT

/tmp/KEY is the private key, and /tmp/CERT is the certificate,
both in PEM format. /tmp/REQ can be removed. Adjust the last
command to set expiration date, etc, as needed. It doesn't
make a whole lot of sense for monero anyway, since most servers
will run with one time temporary self signed certificates anyway.

SSL support is transparent, so all communication is done on the
existing ports, with SSL autodetection. This means you can start
using an SSL daemon now, but you should not enforce SSL yet or
nothing will talk to you.
2019-03-05 14:16:08 +01:00
..
net epee: add SSL support 2019-03-05 14:16:08 +01:00
serialization Merge pull request #4270 2018-09-04 13:19:58 -05:00
storages epee: speedup word/number matching 2019-01-16 19:59:40 +00:00
ado_db_helper.h move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00
console_handler.h console_handler: add a global log when exiting via EOF 2018-10-20 09:13:55 +00:00
copyable_atomic.h copyable_atomic: add a ctor with initial value 2017-09-27 11:43:08 +01:00
file_io_utils.h epee.string_tools: add conversion between UTF-8 and UTF-16 2018-06-28 09:40:26 +09:00
fnv1.h wallet: wipe seed from memory where appropriate 2018-08-16 09:17:52 +00:00
global_stream_operators.h move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00
gzip_encoding.h move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00
hex.h epee: add SSL support 2019-03-05 14:16:08 +01:00
hmac-md5.h moved all stuff to github 2014-03-03 22:07:58 +00:00
include_base_utils.h move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00
int-util.h move int-util.h to epee 2018-12-04 15:14:29 +00:00
math_helper.h Fixed missing return value in once_a_time class on windows 2019-02-09 15:24:34 -05:00
md5_l.h inline unused function (for unused-function warning) 2017-01-14 13:37:14 +03:00
md5_l.inl Removed boost/asio.hpp include from epee/string_tools.h 2017-03-18 22:05:14 -04:00
md5global.h moved all stuff to github 2014-03-03 22:07:58 +00:00
memwipe.h Merge pull request #2969 2018-01-27 17:26:58 -08:00
misc_language.h default initialize rpc structures 2019-03-04 22:38:03 +00:00
misc_log_ex.h Pruning 2019-01-22 20:30:51 +00:00
misc_os_dependent.h blockchain_stats: don't use gmtime_r on Windows 2018-11-21 00:50:53 +00:00
mlocker.h various: do not propagate exception through dtor 2018-11-15 15:53:21 +00:00
pragma_comp_defs.h move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00
profile_tools.h move includes around to lessen overall load 2017-12-16 22:46:38 +00:00
readline_buffer.h readline_buffer: fix "cursor in prompt" bug 2018-10-12 21:03:59 +00:00
reg_exp_definer.h move includes around to lessen overall load 2017-12-16 22:46:38 +00:00
reg_utils.h move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00
service_impl_base.h move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00
sha1.h moved all stuff to github 2014-03-03 22:07:58 +00:00
sha1.inl moved all stuff to github 2014-03-03 22:07:58 +00:00
soci_helper.h year updated in license 2015-01-02 18:52:46 +02:00
span.h epee: better network buffer data structure 2018-12-23 16:46:07 +00:00
static_initializer.h move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00
stats.h performance_tests: better stats, and keep track of timing history 2019-01-28 15:45:37 +00:00
stats.inl performance_tests: better stats, and keep track of timing history 2019-01-28 15:45:37 +00:00
string_coding.h Removed some unused epee functions 2017-04-25 16:07:32 -04:00
string_tools.h Pruning 2019-01-22 20:30:51 +00:00
syncobj.h epee: Drop deprecated Boost.Thread header 2018-04-19 09:15:09 +00:00
time_helper.h year updated in license 2015-01-02 18:52:46 +02:00
tiny_ini.h move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00
to_nonconst_iterator.h move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00
warnings.h year updated in license 2015-01-02 18:52:46 +02:00
winobj.h move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00
wipeable_string.h wipeable_string: add hex_to_pod function 2018-09-12 09:26:09 +00:00
zlib_helper.h move modified epee code to new classes, revert license 2014-07-25 18:29:08 +02:00