crypto: introduce new module for handling TLS sessions
commitd321e1e5268103af616ec4c623c6326c3f7c7bc7
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 2 Mar 2015 17:23:31 +0000 (2 17:23 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 15 Sep 2015 14:07:43 +0000 (15 15:07 +0100)
treeb4e12c3deb8fa4b2a03510a7eac95b48f1fcfb9e
parent9a2fd4347c40321f5cbb4ab4220e759fcbf87d03
crypto: introduce new module for handling TLS sessions

Introduce a QCryptoTLSSession object that will encapsulate
all the code for setting up and using a client/sever TLS
session. This isolates the code which depends on the gnutls
library, avoiding #ifdefs in the rest of the codebase, as
well as facilitating any possible future port to other TLS
libraries, if desired. It makes use of the previously
defined QCryptoTLSCreds object to access credentials to
use with the session. It also includes further unit tests
to validate the correctness of the TLS session handshake
and certificate validation. This is functionally equivalent
to the current TLS session handling code embedded in the
VNC server, and will obsolete it.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
crypto/Makefile.objs
crypto/tlssession.c [new file with mode: 0644]
include/crypto/tlssession.h [new file with mode: 0644]
tests/.gitignore
tests/Makefile
tests/test-crypto-tlssession.c [new file with mode: 0644]
trace-events