protected internal virtual void sendChallengeReply(int challenge, byte[] digest)
{
OtpOutputStream obuf = new OtpOutputStream();
obuf.write2BE(21);
obuf.write1(ChallengeReply);
obuf.write4BE(challenge);
obuf.write(digest);
obuf.writeTo((System.IO.Stream) socket.GetStream());
if (traceLevel >= OtpTrace.Type.handshakeThreshold)
{
OtpTrace.TraceEvent("-> " + "HANDSHAKE sendChallengeReply" + " challenge=" + challenge + " digest=" + hex(digest) + " local=" + self);
}
}