not-yet-commons-ssl



Not-Yet-Commons-SSL

not-yet-commons-ssl-0.3.17 released! (March 16th, 2015)

Requires Java 1.5.x or higher.

Please see our ssl page for code examples on how to use this library.

Resources:

Design Goals: about.html
Code Examples: SSL/TLS  |  PKCS #8  |  PBE
Join Mailing List: http://lists.juliusdavies.ca/listinfo.cgi/not-yet-commons-ssl-juliusdavies.ca/
Mailing List Archives: http://lists.juliusdavies.ca/pipermail/not-yet-commons-ssl-juliusdavies.ca/
Downloads: http://juliusdavies.ca/commons-ssl/download.html
Checkout From Subversion: svn co http://juliusdavies.ca/svn/not-yet-commons-ssl/trunk not-yet-commons-ssl
Browse Subversion (via viewvc): http://juliusdavies.ca/svn/not-yet-commons-ssl/viewvc.cgi/not-yet-commons-ssl/
License (Apache 2.0 + BouncyCastle.org's MIT license): LICENSE.txt

About

We're calling this library "Not-Yet-Commons-SSL" since we have the intention of one day becoming an official Apache project. Not-Yet-Commons-SSL was originally developed by Credit Union Central of British Columbia. The webpages, releases, and code here on juliusdavies.ca have no relationship to the Apache Software Foundation, but all code is licensed under ASL 2.0.

The ASN.1 parsing code comes directly from BouncyCastle (bouncycastle.org). Our only modification to this code was an accidental "reformat" to bring it inline with our code style. Also, in two places, we switched the BC code to use our Hex.java for encoding/decoding instead of their own. The PKCS12 key derivation function (for some PKCS8 version 1.5 encrypted keys) also comes from BouncyCastle. Presumably they got it from RSA's PKCS12 specification (ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-12/pkcs-12v1.pdf). BouncyCastle maintains copyright over all the code used, but allows us to reuse and redistribute (the BouncyCastle license is compatible with ASL 2.0). We are very thankful for their excellent code.

Not-Yet-Commons-SSL would never have happened without Oleg Kalnichevski's excellent "contrib" example in the HttpComponents SVN repository. His AuthSSLProtocolSocketFactory.java and AuthSSLX509TrustManager.java examples were the seeds for all of this. Evil Comrade Oleg's Javadocs on those classes were also extremely helpful. We only one day hope that we can write Javadocs like that (hopefully by 0.7.0!).