[Help-gnutls] GnuTLS 2.6.4 and 2.4.3

Simon Josefsson simon at josefsson.org
Fri Feb 6 21:53:48 CET 2009

We are proud to announce two new stable GnuTLS releases: Version 2.6.4
and 2.4.3.

Normally we only make stable releases on the latest stable branch, i.e.,
currently 2.6.x.  Many users appears to still be using the 2.4.x branch.
To make it easier for these users to upgrade to a secure version, we
have back-ported all of the X.509 chain verification fixes from the
2.6.x branch to the 2.4.x branch.  These two releases should solve the
[CVE-2008-4989] security problem and fix the problems with incorrectly
rejected chains that were reported for earlier 2.6.x releases.

GnuTLS is a modern C library that implement the standard network
security protocol Transport Layer Security (TLS), for use by network
applications.  GnuTLS is developed for GNU/Linux, but works on many
Unix-like systems and comes with a binary installer for Windows.

The GnuTLS library is distributed under the terms of the GNU Lesser
General Public License version 2.1 (or later).  The "extra" GnuTLS
library (which contains TLS/IA support, LZO compression and Libgcrypt
FIPS-mode handler), the OpenSSL compatibility library, the self tests
and the command line tools are all distributed under the GNU General
Public License version 3.0 (or later).  The manual is distributed under
the GNU Free Documentation License version 1.3 (or later).

The project page of the library is available at:

What's New

Version 2.6.4 is a maintenance release on our stable branch.

** libgnutls: Accept chains where intermediary certs are trusted.
Before GnuTLS needed to validate the entire chain back to a
self-signed certificate.  GnuTLS will now stop looking when it has
found an intermediary trusted certificate.  The new behaviour is
useful when chains, for example, contains a top-level CA, an
intermediary CA signed using RSA-MD5, and an end-entity certificate.
To avoid chain validation errors due to the RSA-MD5 cert, you can
explicitly add the intermediary RSA-MD5 cert to your trusted certs.
The signature on trusted certificates are not checked, so the chain
has a chance to validate correctly.  Reported by "Douglas E. Engert"
<deengert at anl.gov> in

** libgnutls: result_size in gnutls_hex_encode now holds
the size of the result. Report by John Brooks <special at dereferenced.net>.

** libgnutls: gnutls_handshake when sending client hello during a
rehandshake, will not offer a version number larger than the current.
Reported by Tristan Hill <stan at saticed.me.uk>.

** libgnutls: Permit V1 Certificate Authorities properly.
Before they were mistakenly rejected even though
GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT were supplied.  Reported by
"Douglas E. Engert" <deengert at anl.gov> in

** libgnutls: deprecate X.509 validation chains using MD5 and MD2 signatures.
This is a bugfix -- the previous attempt to do this from internal x509
certificate verification procedures did not return the correct value
for certificates using a weak hash.  Reported by Daniel Kahn Gillmor
<dkg at fifthhorseman.net> in
debugged and patch by Tomas Mraz <tmraz at redhat.com> and Daniel Kahn
Gillmor <dkg at fifthhorseman.net>.

** libgnutls: Fix compile error with Sun CC.
Reported by Jeff Cai <jeff.cai at sun.com> in

** API and ABI modifications:
No changes since last version.

Getting the Software

GnuTLS may be downloaded from one of the mirror sites or direct from
<ftp://ftp.gnu.org/gnu/gnutls/>.  The list of mirrors can be found at

Here are the BZIP2 compressed sources (4.9MB):



Here are OpenPGP detached signatures signed using key 0xB565716F:



Note, that we don't distribute gzip compressed tarballs.

In order to check that the version of GnuTLS which you are going to
install is an original and unmodified one, you should verify the OpenPGP
signature.  You can use the command

     gpg --verify gnutls-2.6.4.tar.bz2.sig

This checks whether the signature file matches the source file.  You
should see a message indicating that the signature is good and made by
that signing key.  Make sure that you have the right key, either by
checking the fingerprint of that key with other sources or by checking
that the key has been signed by a trustworthy other key.  The signing
key can be identified with the following information:

pub   1280R/B565716F 2002-05-05 [expires: 2009-04-21]
      Key fingerprint = 0424 D4EE 81A0 E3D1 19C6  F835 EDA2 1E94 B565 716F
uid                  Simon Josefsson <simon at josefsson.org>
uid                  Simon Josefsson <jas at extundo.com>
sub   1280R/4D5D40AE 2002-05-05 [expires: 2009-04-21]

The key is available from:

Alternatively, after successfully verifying the OpenPGP signature of
this announcement, you could verify that the files match the following
checksum values.  The values are for SHA-1 and SHA-224 respectively:

11dd1e11599906a32b3ff92308f4c4dbaadbad58  gnutls-2.6.4.tar.bz2

83289283739e168f346427784cc9a58c248c3363d1dc346674a54b15  gnutls-2.6.4.tar.bz2

0f4e6ed9ae5939bb9a63bb95722a25e2f6e32fae  gnutls-2.4.3.tar.bz2

b8daacc55a67048c241686d2567eb9797af486c6920bd5c59774c981  gnutls-2.4.3.tar.bz2


The manual is available online at:


In particular the following formats are available:

 HTML: http://www.gnu.org/software/gnutls/manual/html_node/index.html
 PDF: http://www.gnu.org/software/gnutls/manual/gnutls.pdf

For developers there is a GnuTLS API reference manual formatted using
the GTK-DOC tools:



If you need help to use GnuTLS, or want to help others, you are invited
to join our help-gnutls mailing list, see:


If you wish to participate in the development of GnuTLS, you are invited
to join our gnutls-dev mailing list, see:


Windows installer

GnuTLS has been ported to the Windows operating system, and a binary
installer is available.  The installer contains DLLs for application
development, manuals, examples, and source code.  The installer uses
libgpg-error v1.7, libgcrypt v1.4.4, libtasn1 v1.8, and GnuTLS v2.6.4.

For more information about GnuTLS for Windows:

The Windows binary installer and PGP signature:
  http://josefsson.org/gnutls4win/gnutls-2.6.4.exe (14MB)

The checksum values for SHA-1 and SHA-224 are:

25975ee8ff0dea1acfb75d5c0bf12ffe7453136d  gnutls-2.6.4.exe

83da845fa1436dc6efc78f39c10bea9a6831191720ad10743ec30915  gnutls-2.6.4.exe

Thanks to Enrico Tassi, we also have mingw32 *.deb's available:

The checksum values for SHA-1 and SHA-224 are:

310b4a0f8953927517d7ce600ff24b88c1deada5  mingw32-gnutls_2.6.4-1_all.deb

b251518c49d0ab04246b726a4171796d602b5cbbd8a7dd12f58c584b  mingw32-gnutls_2.6.4-1_all.deb


GnuTLS messages have been translated into Dutch, French, German,
Malay, Polish, Swedish, and Vietnamese.  We welcome the addition of
more translations.


Improving GnuTLS is costly, but you can help!  We are looking for
organizations that find GnuTLS useful and wish to contribute back.
You can contribute by reporting bugs, improve the software, or donate
money or equipment.

Commercial support contracts for GnuTLS are available, and they help
finance continued maintenance.  Simon Josefsson Datakonsult AB, a
Stockholm based privately held company, is currently funding GnuTLS
maintenance.  We are always looking for interesting development
projects.  See http://josefsson.org/ for more details.

The GnuTLS service directory is available at:


Happy Hacking,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 419 bytes
Desc: not available
URL: </pipermail/attachments/20090206/276181d8/attachment.pgp>

More information about the Gnutls-help mailing list