[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Should we settle on one SSL implementation?



Bernardo Innocenti wrote:
I remember this topic being discussed some time ago,
but software is fluid and maybe it's time to respin
the topic.

It would seem a worthwhile goal to unify SSL/TLS
implementations like we did for spell checkers.
Or, if it turns out to be too hard, at least it would
be nice to their pki files.

I've asked whether we have a standard layout for /etc/pki before, but no one seems to know.

We're now shipping no less than 4 different implementations
of SSL:

- openssl (OpenBSD's implementation)
- nss (Netscape's implementation)
- gnutls (LGPL implementation)
- puretls (Java implementation)

Make that at least five - ocaml-ocamlnet has a pure-OCaml SSL impl. I'm sure Perl & Python probably have their own too.

But which one should replace the others?

When we implemented encryption in libvirt, we chose gnutls because it has excellent examples which allow you to actually write code to use it in a short period of time. The others have (or we perceived them to have) hideous, confusing or undocumented APIs.

For a short while I documented the certificate management code in terms of the OpenSSL command line tools. But after I found out about 'certtool' (part of GnuTLS), I was able to rewrite that documentation and make it considerably simpler[1]. 'certtool' is a lot more sane than the OpenSSL stuff.

Nevertheless, I don't think you're going to get rid of the competing SSL libraries. Rewriting code to use a different API is a lot of make-work that no one wants to do, and doesn't contribute much benefit to anyone.

Rich.

[1] http://libvirt.org/remote.html#Remote_certificates

--
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom.  Registered in
England and Wales under Company Registration No. 03798903

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]