crypto: fix test cert generation to not use SHA1 algorithm
authorDaniel P. Berrange <berrange@redhat.com>
Tue, 29 Aug 2017 16:03:30 +0000 (17:03 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Mon, 4 Sep 2017 09:45:19 +0000 (10:45 +0100)
GNUTLS 3.6.0 marked SHA1 as untrusted for certificates.
Unfortunately the gnutls_x509_crt_sign() method we are
using to create certificates in the test suite is fixed
to always use SHA1. We must switch to a different method
and explicitly ask for SHA256.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
tests/crypto-tls-x509-helpers.c

index 64073d3bd3179dc93d9b2cb958530aef0d7f31a5..173d4e28fb40209f33307f87656c53f4d2200069 100644 (file)
@@ -406,7 +406,8 @@ test_tls_generate_cert(QCryptoTLSTestCertReq *req,
      * If no 'ca' is set then we are self signing
      * the cert. This is done for the root CA certs
      */
-    err = gnutls_x509_crt_sign(crt, ca ? ca : crt, privkey);
+    err = gnutls_x509_crt_sign2(crt, ca ? ca : crt, privkey,
+                                GNUTLS_DIG_SHA256, 0);
     if (err < 0) {
         g_critical("Failed to sign certificate %s",
                    gnutls_strerror(err));