• Georg Richter's avatar
    MDEV-14101 Provide an option to select TLS protocol version · d1308013
    Georg Richter authored
    Server and command line tools now support option --tls_version to specify the
    TLS version between client and server. Valid values are TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3
    or a combination of them. E.g.
    
    --tls_version=TLSv1.3
    --tls_version=TLSv1.2,TLSv1.3
    
    In case there is a gap between versions, the lowest version will be used:
    --tls_version=TLSv1.1,TLSv1.3 -> Only TLSv1.1 will be available.
    
    If the used TLS library doesn't support the specified TLS version, it will use
    the default configuration.
    
    Limitations:
    
    SSLv3 is not supported. The default configuration doesn't support TLSv1.0 anymore.
    TLSv1.3 protocol currently is only supported by OpenSSL 1.1.0 (client and server) and
    GnuTLS 3.6.5 (client only).
    
    Overview of TLS implementations and protocols
    
    Server:
    
    +-----------+-----------------------------------------+
    | Library   | Supported TLS versions                  |
    +-----------+-----------------------------------------+
    | WolfSSL   | TLSv1.1, TLSv1,2                        |
    +-----------+-----------------------------------------+
    | OpenSSL   | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3    |
    +-----------+-----------------------------------------+
    | LibreSSL  | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3    |
    +-----------+-----------------------------------------+
    
    Client (MariaDB Connector/C)
    +-----------+-----------------------------------------+
    | Library   | Supported TLS versions                  |
    +-----------+-----------------------------------------+
    | GnuTLS    | (TLSv1.0), TLSv1.1, TLSv1.2, TLSv1.3    |
    +-----------+-----------------------------------------+
    | Schannel  | (TLSv1.0), TLSv1.1, TLSv1.2             |
    +-----------+-----------------------------------------+
    | OpenSSL   | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3    |
    +-----------+-----------------------------------------+
    | LibreSSL  | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3    |
    +-----------+-----------------------------------------+
    d1308013
tls_version.opt 30 Bytes