Java Cryptography: Tools and Techniques
David Hook, Jon Eaves - Leanpub
Written by two founders of the Bouncy Castle project, as a successor to "Beginning Cryptography with Java", the book will cover the recent features introduced in the JCA/JCE as well the latest changes to the BC APIs and the BCFIPS Java module (first 11 chapters now in place, parts of the remaining chapters (up to 15) as well - make sure you sign up for updates, we release new sections and revisions about once a month).

A copy of the source code for the examples in the book is in

Beginning Cryptography with Java
David Hook - Wrox
Written by a Bouncy Castle APIs committer, the book covers recent features introduced in the JCA/JCE cryptography APIs in JDK 1.5 and is fully up to date with the cryptography APIs in J2SE 5.01, including Elliptic Curve cryptography, as well as dealing with earlier versions of the JCE/JCA in earlier JDKs. The book also deals with provider installation, X.509 certificate generation, CRL generation, and the creation and processing of PKCS #10 certification requests using the JCA and the Bouncy Castle APIs, in addition it covers certificate validation and certificate path processing with both CRLs and OCSP. Finally, it also covers using PKCS #12, processing CMS and S/MIME messages using the BC APIs, SSL using the JSSE, and gives an introduction as to how to use the Bouncy Castle ASN.1 library.

The book also has some on-line resources including code examples and a forum.

1 Mind you, you would probably have to read it first to be aware of this... ;-)


Bouncy Castle APIs

The Bouncy Castle Cryptography Libraries -


An implementation of the Russian message digest algorithm GOST-3411.

This is based on Markku-Juhani Saarinen's implementation but fixes a bug in cumulative Sum calculation carried out as data is feed into the digest. The tar file includes the original postscript files as well.