]> git.proxmox.com Git - mirror_qemu.git/commit
crypto: introduce new base module for TLS credentials
authorDaniel P. Berrange <berrange@redhat.com>
Fri, 13 Mar 2015 17:39:26 +0000 (17:39 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 15 Sep 2015 13:47:37 +0000 (14:47 +0100)
commita090187de116a3d0b8146ca481249c8fc83ad3ee
tree45a83d45ec34d9caf3bc9098d9711a4215f442e3
parent0c7012e0558e4312e575fd4c70652d8ef2265ff7
crypto: introduce new base module for TLS credentials

Introduce a QCryptoTLSCreds class to act as the base class for
storing TLS credentials. This will be later subclassed to provide
handling of anonymous and x509 credential types. The subclasses
will be user creatable objects, so instances can be created &
deleted via 'object-add' and 'object-del' QMP commands respectively,
or via the -object command line arg.

If the credentials cannot be initialized an error will be reported
as a QMP reply, or on stderr respectively.

The idea is to make it possible to represent and manage TLS
credentials independently of the network service that is using
them. This will enable multiple services to use the same set of
credentials and minimize code duplication. A later patch will
convert the current VNC server TLS code over to use this object.

The representation of credentials will be functionally equivalent
to that currently implemented in the VNC server with one exception.
The new code has the ability to (optionally) load a pre-generated
set of diffie-hellman parameters, if the file dh-params.pem exists,
whereas the current VNC server will always generate them on startup.
This is beneficial for admins who wish to avoid the (small) time
sink of generating DH parameters at startup and/or avoid depleting
entropy.

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