After upgrading a (working) Ubuntu 18.04 webserver to 20.04, I get the following error in the log when making a simple curl request:
[Fri Nov 06 14:46:38.344069 2020] [gnutls:info] [pid xxx] [client <ip addr>] GnuTLS: Handshake Failed (-87) 'No supported cipher suites have been found.'
curl output on the client:
$ curl -v <server>
* Trying <ip>:443...
* TCP_NODELAY set
* Connected to <server> (<ip>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS alert, handshake failure (552):
* error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
* Closing connection 0
curl: (35) error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
GnuTLS configuration is as follows:
GnuTLSEnable on
GnuTLSSessionTickets on
GnuTLSPriorities NORMAL
GnuTLSCertificateFile /etc/ssl/certs/server.cert
GnuTLSKeyFile /etc/ssl/keys/server.key
Both client and server are up-to-date Ubuntu 20.04 hosts. I've increased the LogLevel
to "debug" which shows the following additional log message in the Apache start up log:
[Fri Nov 06 15:07:26.966137 2020] [gnutls:debug] [pid 3849] gnutls_hooks.c(501): set_default_dh_param: Setting DH params for security level 'Low'.
While debugging this, I found what looked like a permissions issue with the TLS private key, but fixing this issue hasn't changed the error message. How else can I debug this?