final String clm = "c=" + Base64.toBase64(gs2hdr.getBytes()) + ",r=" + snonce;
return (cfm + "," + sfm + "," + clm).getBytes();
}
private final byte[] clientProof() {
final byte[] saltedPassword = new PBKDF2().doKey(credentials.getPassword().getBytes(), salt, icount);
final byte[] clientKey = new HMac().doMac(saltedPassword, "Client Key".getBytes());
final byte[] storedKey = new SHA1Digest().doHash(clientKey);
final byte[] clientSignature = new HMac().doMac(storedKey, authMessage());
return XOR(clientKey, clientSignature);
}