byte[] myRef = crypto.myCompressedSetupRef();
byte[] data = new byte[8 + myRef.length + hisRef.length];
System.arraycopy(Fields.longToBytes(node.bootID), 0, data, 0, 8);
System.arraycopy(myRef, 0, data, 8, myRef.length);
System.arraycopy(hisRef, 0, data, 8 + myRef.length, hisRef.length);
<BUG>byte[] messageHash = SHA256.digest(assembleDHParams(nonceInitiator, nonceResponder, _initiatorExponential, _responderExponential, pn.identity, data));

if(logMINOR)
Logger.minor(this, "Message hash: "+HexUtil.bytesToHex(messageHash));
DSASignature localSignature = crypto.sign(messageHash);</BUG>
byte[] r = localSignature.getRBytes(Node.SIGNATURE_PARAMETER_LENGTH);

byte[] myRef = crypto.myCompressedSetupRef();
byte[] data = new byte[8 + myRef.length + hisRef.length];
System.arraycopy(Fields.longToBytes(node.bootID), 0, data, 0, 8);
System.arraycopy(myRef, 0, data, 8, myRef.length);
System.arraycopy(hisRef, 0, data, 8 + myRef.length, hisRef.length);
byte[] params = assembleDHParams(nonceInitiator, nonceResponder, _initiatorExponential, _responderExponential, pn.identity, data);
byte[] messageHash = SHA256.digest(params);
if(logMINOR)
Logger.minor(this, "Message hash: "+HexUtil.bytesToHex(messageHash)+" length "+params.length+" myRef: "+myRef.length+" hash "+Fields.hashCode(myRef)+" hisRef: "+hisRef.length+" hash "+Fields.hashCode(hisRef)+" boot ID "+node.bootID);
DSASignature localSignature = crypto.sign(messageHash);
byte[] r = localSignature.getRBytes(Node.SIGNATURE_PARAMETER_LENGTH);
