]> granicus.if.org Git - ejabberd/commit
Introduce Certficate Manager
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>
Fri, 12 May 2017 13:27:09 +0000 (16:27 +0300)
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>
Fri, 12 May 2017 13:27:09 +0000 (16:27 +0300)
commitcc58ce6301a6a60d5b3f67fb17731200572fff4b
tree978f0d2d55eafdb4431142a2c07ac95fe6348a1f
parentd3c8fb77055ff6c07f156bc7a098054301349a30
Introduce Certficate Manager

The major goal is to simplify certificate management in ejabberd.
Currently it requires some effort from a user to configure certficates,
especially in the situation where a lot of virtual domains are hosted.

The task is splitted in several sub-tasks:
* Implement basic certificate validator. The validator should check all
configured certificates for existence, validity, duration and so on. The
validator should not perform any actions in the case of errors except
logging an error message. This is actually implemented by this commit.
* All certificates should be configured inside a single section (something
like 'certfiles') where ejabberd should parse them, check the full-chain,
find the corresponding private keys and, if needed, resort chains and
split the certficates into separate files for easy to use by fast_tls.
* Options like 'domain_certfile', 'c2s_certfile' or 's2s_certfile' should
probably be deprecated, since the process of matching certificates with the
corresponding virtual hosts should be done automatically and these options
only introduce configuration errors without any meaningful purpose.
src/ejabberd_c2s.erl
src/ejabberd_http.erl
src/ejabberd_pkix.erl [new file with mode: 0644]
src/ejabberd_router.erl
src/ejabberd_s2s_in.erl
src/ejabberd_service.erl
src/ejabberd_sip.erl
src/ejabberd_stun.erl
src/ejabberd_sup.erl