In the CramMD5Util.createHmac() method the
javax.crypto.Mac.getInstance() method is called with
the wrong algorithm name. The name used in the code
is "HMAC-MD5", according to the JCE reference guide
it should be "HmacMD5". Without this change both the
IBM and Sun JCE implementations throw a
NoSuchAlgorithmException. I haven't tried this with
the Cryptix JCE. I suspect it works but the code
should work across JCE implementations.
... WkH