All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] crypto: fix test cert generation to not use SHA1 algorithm
@ 2017-08-29 16:27 Daniel P. Berrange
  2017-08-29 16:31 ` Eric Blake
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel P. Berrange @ 2017-08-29 16:27 UTC (permalink / raw)
  To: qemu-devel

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.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 tests/crypto-tls-x509-helpers.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tests/crypto-tls-x509-helpers.c b/tests/crypto-tls-x509-helpers.c
index 64073d3bd3..173d4e28fb 100644
--- a/tests/crypto-tls-x509-helpers.c
+++ b/tests/crypto-tls-x509-helpers.c
@@ -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));
-- 
2.13.5

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] crypto: fix test cert generation to not use SHA1 algorithm
  2017-08-29 16:27 [Qemu-devel] [PATCH] crypto: fix test cert generation to not use SHA1 algorithm Daniel P. Berrange
@ 2017-08-29 16:31 ` Eric Blake
  2017-08-29 16:34   ` Daniel P. Berrange
  0 siblings, 1 reply; 4+ messages in thread
From: Eric Blake @ 2017-08-29 16:31 UTC (permalink / raw)
  To: Daniel P. Berrange, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1346 bytes --]

On 08/29/2017 11:27 AM, Daniel P. Berrange wrote:
> 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.
> 
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  tests/crypto-tls-x509-helpers.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/crypto-tls-x509-helpers.c b/tests/crypto-tls-x509-helpers.c
> index 64073d3bd3..173d4e28fb 100644
> --- a/tests/crypto-tls-x509-helpers.c
> +++ b/tests/crypto-tls-x509-helpers.c
> @@ -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);

Is _sign2() available on all the older versions of gnutls that we must
support, or do we need this to be a conditional compilation?

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] crypto: fix test cert generation to not use SHA1 algorithm
  2017-08-29 16:31 ` Eric Blake
@ 2017-08-29 16:34   ` Daniel P. Berrange
  2017-08-29 16:42     ` Eric Blake
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel P. Berrange @ 2017-08-29 16:34 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel

On Tue, Aug 29, 2017 at 11:31:24AM -0500, Eric Blake wrote:
> On 08/29/2017 11:27 AM, Daniel P. Berrange wrote:
> > 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.
> > 
> > Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> > ---
> >  tests/crypto-tls-x509-helpers.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/tests/crypto-tls-x509-helpers.c b/tests/crypto-tls-x509-helpers.c
> > index 64073d3bd3..173d4e28fb 100644
> > --- a/tests/crypto-tls-x509-helpers.c
> > +++ b/tests/crypto-tls-x509-helpers.c
> > @@ -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);
> 
> Is _sign2() available on all the older versions of gnutls that we must
> support, or do we need this to be a conditional compilation?

It dates to gnutls 1.2.0 from 2005, so we're fine even if using RHEL5
vintage :-)

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] crypto: fix test cert generation to not use SHA1 algorithm
  2017-08-29 16:34   ` Daniel P. Berrange
@ 2017-08-29 16:42     ` Eric Blake
  0 siblings, 0 replies; 4+ messages in thread
From: Eric Blake @ 2017-08-29 16:42 UTC (permalink / raw)
  To: Daniel P. Berrange; +Cc: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1745 bytes --]

On 08/29/2017 11:34 AM, Daniel P. Berrange wrote:
> On Tue, Aug 29, 2017 at 11:31:24AM -0500, Eric Blake wrote:
>> On 08/29/2017 11:27 AM, Daniel P. Berrange wrote:
>>> 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.
>>>
>>> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
>>> ---
>>>  tests/crypto-tls-x509-helpers.c | 3 ++-
>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/tests/crypto-tls-x509-helpers.c b/tests/crypto-tls-x509-helpers.c
>>> index 64073d3bd3..173d4e28fb 100644
>>> --- a/tests/crypto-tls-x509-helpers.c
>>> +++ b/tests/crypto-tls-x509-helpers.c
>>> @@ -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);
>>
>> Is _sign2() available on all the older versions of gnutls that we must
>> support, or do we need this to be a conditional compilation?
> 
> It dates to gnutls 1.2.0 from 2005, so we're fine even if using RHEL5
> vintage :-)

Good to know. Not sure if it's worth mentioning that in the commit
message.  Either way,

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-08-29 16:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-29 16:27 [Qemu-devel] [PATCH] crypto: fix test cert generation to not use SHA1 algorithm Daniel P. Berrange
2017-08-29 16:31 ` Eric Blake
2017-08-29 16:34   ` Daniel P. Berrange
2017-08-29 16:42     ` Eric Blake

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.