qemu/include/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
..
aes.h crypto: aes: always rename internal symbols 2016-06-13 12:41:17 +01:00
afsplit.h crypto: add support for anti-forensic split algorithm 2016-03-17 14:41:14 +00:00
block.h crypto: add block encryption framework 2016-03-17 14:41:15 +00:00
cipher.h include/crypto: Include qapi-types.h or qemu/bswap.h instead of qemu-common.h 2016-03-22 22:20:16 +01:00
desrfb.h crypto: move built-in D3DES implementation into crypto/ 2015-07-07 12:04:31 +02:00
hash.h include/crypto: Include qapi-types.h or qemu/bswap.h instead of qemu-common.h 2016-03-22 22:20:16 +01:00
init.h include/crypto: Include qapi-types.h or qemu/bswap.h instead of qemu-common.h 2016-03-22 22:20:16 +01:00
ivgen.h crypto: add support for generating initialization vectors 2016-03-17 14:41:14 +00:00
pbkdf.h crypto: add support for PBKDF2 algorithm 2016-03-17 14:41:07 +00:00
random.h Fix some typos found by codespell 2016-05-18 15:04:27 +03:00
secret.h include/crypto: Include qapi-types.h or qemu/bswap.h instead of qemu-common.h 2016-03-22 22:20:16 +01:00
tlscreds.h crypto: add support for TLS priority string override 2016-07-04 15:52:43 +01:00
tlscredsanon.h crypto: introduce new module for TLS anonymous credentials 2015-09-15 15:00:20 +01:00
tlscredsx509.h crypto: add support for loading encrypted x509 keys 2015-12-18 16:25:08 +00:00
tlssession.h crypto: fix description of @errp parameter initialization 2016-02-01 14:11:35 +00:00
xts.h crypto: import an implementation of the XTS cipher mode 2016-03-17 14:41:15 +00:00