Scram-Sha-1 mechanism : do not send authzid if it not absolutely necessary
Some servers (ejabberd) reject the challenge if the
scram attributes a (authzid) and n (authcid) are equals
or they just don't handle the authzid.
So we just don't send it if they are the same
This fix #484
/*
* Copyright (c) 2010, Isode Limited, London, England.
* All rights reserved.
*/
/*
* Copyright (c) 2010, Remko Tronçon.
* All rights reserved.
*/
package com.isode.stroke.stringcodecs;
import com.isode.stroke.base.ByteArray;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA1 {
public static ByteArray getHash(ByteArray data) {
MessageDigest md;
try {
md = MessageDigest.getInstance("SHA-1");
} catch (NoSuchAlgorithmException ex) {
throw new IllegalStateException("JRE doesn't have an SHA hash function", ex);
}
md.update(data.getData());
return new ByteArray(md.digest());
}
}