}
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);
}