qemu-e2k/crypto
Daniel P. Berrange 13f12430d4 crypto: add support for TLS priority string override
The gnutls default priority is either "NORMAL" (most historical
versions of gnutls) which is a built-in label in gnutls code,
or "@SYSTEM" (latest gnutls on Fedora at least) which refers
to an admin customizable entry in a gnutls config file.

Regardless of which default is used by a distro, they are both
global defaults applying to all applications using gnutls. If
a single application on the system needs to use a weaker set
of crypto priorities, this potentially forces the weakness onto
all applications. Or conversely if a single application wants a
strong default than all others, it can't do this via the global
config file.

This adds an extra parameter to the tls credential object which
allows the mgmt app / user to explicitly provide a priority
string to QEMU when configuring TLS.

For example, to use the "NORMAL" priority, but disable SSL 3.0
one can now configure QEMU thus:

  $QEMU -object tls-creds-x509,id=tls0,dir=/home/berrange/qemutls,\
                priority="NORMAL:-VERS-SSL3.0" \
        ..other args...

If creating tls-creds-anon, whatever priority the user specifies
will always have "+ANON-DH" appended to it, since that's mandatory
to make the anonymous credentials work.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2016-07-04 15:52:43 +01:00
..
Makefile.objs crypto: switch hash code to use nettle/gcrypt directly 2016-07-04 10:47:09 +01:00
aes.c crypto: Clean up includes 2016-01-29 15:07:22 +00:00
afsplit.c qemu-common: stop including qemu/bswap.h from qemu-common.h 2016-05-19 16:42:28 +02:00
block-luks.c crypto: fix handling of iv generator hash defaults 2016-07-04 10:46:59 +01:00
block-luks.h crypto: implement the LUKS block encryption format 2016-03-17 16:50:40 +00:00
block-qcow.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
block-qcow.h crypto: add block encryption framework 2016-03-17 14:41:15 +00:00
block.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
blockpriv.h crypto: add block encryption framework 2016-03-17 14:41:15 +00:00
cipher-builtin.c crypto: wire up XTS mode for cipher APIs 2016-03-17 14:41:15 +00:00
cipher-gcrypt.c crypto: wire up XTS mode for cipher APIs 2016-03-17 14:41:15 +00:00
cipher-nettle.c crypto: fix cipher function signature mismatch with nettle & xts 2016-03-21 10:03:45 +00:00
cipher.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
desrfb.c crypto: Clean up includes 2016-01-29 15:07:22 +00:00
hash-gcrypt.c crypto: implement sha224, sha384, sha512 and ripemd160 hashes 2016-07-04 15:52:36 +01:00
hash-nettle.c crypto: implement sha224, sha384, sha512 and ripemd160 hashes 2016-07-04 15:52:36 +01:00
hash-stub.c crypto: switch hash code to use nettle/gcrypt directly 2016-07-04 10:47:09 +01:00
hash.c crypto: implement sha224, sha384, sha512 and ripemd160 hashes 2016-07-04 15:52:36 +01:00
init.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
ivgen-essiv.c include/crypto: Include qapi-types.h or qemu/bswap.h instead of qemu-common.h 2016-03-22 22:20:16 +01:00
ivgen-essiv.h crypto: add support for generating initialization vectors 2016-03-17 14:41:14 +00:00
ivgen-plain.c include/crypto: Include qapi-types.h or qemu/bswap.h instead of qemu-common.h 2016-03-22 22:20:16 +01:00
ivgen-plain.h crypto: add support for generating initialization vectors 2016-03-17 14:41:14 +00:00
ivgen-plain64.c include/crypto: Include qapi-types.h or qemu/bswap.h instead of qemu-common.h 2016-03-22 22:20:16 +01:00
ivgen-plain64.h crypto: add support for generating initialization vectors 2016-03-17 14:41:14 +00:00
ivgen.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
ivgenpriv.h crypto: add support for generating initialization vectors 2016-03-17 14:41:14 +00:00
pbkdf-gcrypt.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
pbkdf-nettle.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
pbkdf-stub.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
pbkdf.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
random-gcrypt.c crypto: add cryptographic random byte source 2016-03-17 09:49:01 +00:00
random-gnutls.c crypto: add cryptographic random byte source 2016-03-17 09:49:01 +00:00
random-stub.c crypto: add cryptographic random byte source 2016-03-17 09:49:01 +00:00
secret.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
tlscreds.c crypto: add support for TLS priority string override 2016-07-04 15:52:43 +01:00
tlscredsanon.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
tlscredspriv.h crypto: introduce new base module for TLS credentials 2015-09-15 14:47:37 +01:00
tlscredsx509.c TLS: provide slightly more information when TLS certificate loading fails 2016-06-13 12:41:17 +01:00
tlssession.c crypto: add support for TLS priority string override 2016-07-04 15:52:43 +01:00
trace-events trace: split out trace events for crypto/ directory 2016-06-20 17:22:14 +01:00
xts.c crypto: import an implementation of the XTS cipher mode 2016-03-17 14:41:15 +00:00