private byte[] ComputeHandshakeDigest2(byte[] keyvec, DigestPosition keypos, byte[] vec, byte[] key)
{
var doffset = GetDigestOffset(keyvec, keypos);
var hasher1 = new System.Security.Cryptography.HMACSHA256(key);
var key2 = hasher1.ComputeHash(keyvec, doffset, 32);
var hasher2 = new System.Security.Cryptography.HMACSHA256(key2);
return hasher2.ComputeHash(vec, 0, vec.Length-32);
}