GNU Libtasn1 is a standalone library written in C for manipulating ASN.1
objects including DER/BER encoding/decoding.  GNU Libtasn1 is used by
GnuTLS to handle X.509 structures and by GNU Shishi to handle Kerberos
V5 structures.

* Noteworthy changes in release 2.5 (2010-03-15) [stable]
- doc: Improve GTK-DOC comments.
- misc: Updated gnulib files.

Homepage:
  http://www.gnu.org/software/libtasn1/

Here are the compressed sources (1.7MB):
   ftp://ftp.gnu.org/gnu/libtasn1/libtasn1-2.5.tar.gz
   http://ftp.gnu.org/gnu/libtasn1/libtasn1-2.5.tar.gz

Here are GPG detached signatures using key 0xB565716F:
   ftp://ftp.gnu.org/gnu/libtasn1/libtasn1-2.5.tar.gz.sig
   http://ftp.gnu.org/gnu/libtasn1/libtasn1-2.5.tar.gz.sig

A ZIP archive containing the Windows binaries (264KB):
  http://josefsson.org/gnutls4win/libtasn1-2.5.zip
  http://josefsson.org/gnutls4win/libtasn1-2.5.zip.sig

A Debian mingw32 package is also available (240KB):
  http://josefsson.org/gnutls4win/mingw32-libtasn1_2.5-1_all.deb

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

If you need help to use Libtasn1, or want to help others, you are
invited to join the help-gnutls mailing list, see:
<http://lists.gnu.org/mailman/listinfo/help-gnutls>.

All manuals are available from:
  http://www.gnu.org/software/gsasl/manual/

Specifically, the following formats are available.

The main manual:
  HTML: http://www.gnu.org/software/gsasl/manual/gsasl.html
  PDF: http://www.gnu.org/software/gsasl/manual/gsasl.pdf

API Reference manual:
  http://www.gnu.org/software/gsasl/reference/ - GTK-DOC HTML

For developers interested in improving code quality, we publish
Cyclomatic code complexity charts that help you find code that may need
review and improvements:

  http://www.gnu.org/software/gnutls/cyclo/

Also useful are code coverage charts which indicate parts of the source
code that needs to be tested better by the included self-tests:

  http://www.gnu.org/software/gnutls/coverage/

The software is cryptographically signed by the author using an
OpenPGP key identified by the following information:

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

The key is available from:
  http://josefsson.org/key.txt
  dns:b565716f.josefsson.org?TYPE=CERT

Here are the SHA-1 and SHA-224 checksums:

e317282a86702fb57133b50199df47a7fcf681ca  libtasn1-2.5.tar.gz
69e53bb61f3512aa8d1eb72640778b4adebf6818a4493548cc7faf2d  libtasn1-2.5.tar.gz

784faa0f4aff35aee1ac420013a9e47aa4892d12  libtasn1-2.5.zip
98177b4e5cbc3bae34dd7813940bec99c802275c9dd0cb77f06a1d3d  libtasn1-2.5.zip

a5427f26d051a3ab30a8f5bea0abcdf6d3d83f0f  mingw32-libtasn1_2.5-1_all.deb
6e781ec4652f8d3fd58e3742dd19f69804665356c11c50e179ed1756  mingw32-libtasn1_2.5-1_all.deb

Happy hacking,
Simon
