Author: toad
Date: 2007-12-15 16:24:48 +0000 (Sat, 15 Dec 2007)
New Revision: 16577

Modified:
   trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
JFK(4): Log the messageHash for debugging

Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java        2007-12-15 
15:56:36 UTC (rev 16576)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java        2007-12-15 
16:24:48 UTC (rev 16577)
@@ -1276,8 +1276,9 @@
                System.arraycopy(data, 0, locallyGeneratedText, bufferOffset, 
data.length - pn.jfkMyRef.length);
                bufferOffset += data.length - pn.jfkMyRef.length;
                System.arraycopy(pn.jfkMyRef, 0, locallyGeneratedText, 
bufferOffset, pn.jfkMyRef.length);
-               if(!DSA.verify(pn.peerPubKey, remoteSignature, new 
NativeBigInteger(1, SHA256.digest(locallyGeneratedText)), false)) {
-                       Logger.error(this, "The signature verification has 
failed!! JFK(4) -"+pn.getPeer());
+               byte[] messageHash = SHA256.digest(locallyGeneratedText);
+               if(!DSA.verify(pn.peerPubKey, remoteSignature, new 
NativeBigInteger(1, messageHash), false)) {
+                       Logger.error(this, "The signature verification has 
failed!! JFK(4) -"+pn.getPeer()+" message hash 
"+HexUtil.bytesToHex(messageHash));
                        return;
                }

@@ -1475,7 +1476,10 @@
                System.arraycopy(myRef, 0, data, 8, myRef.length);
                System.arraycopy(hisRef, 0, data, 8 + myRef.length, 
hisRef.length);

-               DSASignature localSignature = 
crypto.sign(SHA256.digest(assembleDHParams(nonceInitiator, nonceResponder, 
_initiatorExponential, _responderExponential, pn.identity, data)));
+               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);
                byte[] r = 
localSignature.getRBytes(Node.SIGNATURE_PARAMETER_LENGTH);
                byte[] s = 
localSignature.getSBytes(Node.SIGNATURE_PARAMETER_LENGTH);



Reply via email to