• Daniel P. Berrange's avatar
    crypto: introduce new base module for TLS credentials · a090187d
    Daniel P. Berrange authored
    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: 's avatarDaniel P. Berrange <berrange@redhat.com>
    a090187d
tlscredspriv.h 1.41 KB