From e7f972ca662123b7f94ac56d01d399679b164227 Mon Sep 17 00:00:00 2001 From: Jonathan Warren Date: Fri, 7 Jun 2013 15:06:53 -0400 Subject: [PATCH] Correct ECDSA verify --- Makefile | 2 +- debian.sh | 2 +- src/bitmessagemain.py | 16 ++++++++++++---- src/shared.py | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 6f415786..e84d1bc4 100755 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ APP=pybitmessage -VERSION=0.3.2 +VERSION=0.3.3 DEST_SHARE=$(DESTDIR)/usr/share DEST_APP=$(DEST_SHARE)/$(APP) diff --git a/debian.sh b/debian.sh index 69bdcba8..a26398e3 100755 --- a/debian.sh +++ b/debian.sh @@ -8,7 +8,7 @@ APP=pybitmessage PREV_VERSION=0.3.2 -VERSION=0.3.2 +VERSION=0.3.3 ARCH_TYPE=all #update version numbers automatically - so you don't have to diff --git a/src/bitmessagemain.py b/src/bitmessagemain.py index e53fee3a..4f612904 100755 --- a/src/bitmessagemain.py +++ b/src/bitmessagemain.py @@ -650,7 +650,9 @@ class receiveDataThread(threading.Thread): readPosition += signatureLengthLength signature = data[readPosition:readPosition+signatureLength] try: - highlevelcrypto.verify(data[12:readPositionAtBottomOfMessage],signature,sendersPubSigningKey.encode('hex')) + if not highlevelcrypto.verify(data[12:readPositionAtBottomOfMessage],signature,sendersPubSigningKey.encode('hex')): + print 'ECDSA verify failed' + return print 'ECDSA verify passed' except Exception, err: print 'ECDSA verify failed', err @@ -783,7 +785,9 @@ class receiveDataThread(threading.Thread): readPosition += signatureLengthLength signature = decryptedData[readPosition:readPosition+signatureLength] try: - highlevelcrypto.verify(decryptedData[:readPositionAtBottomOfMessage],signature,sendersPubSigningKey.encode('hex')) + if not highlevelcrypto.verify(decryptedData[:readPositionAtBottomOfMessage],signature,sendersPubSigningKey.encode('hex')): + print 'ECDSA verify failed' + return print 'ECDSA verify passed' except Exception, err: print 'ECDSA verify failed', err @@ -1024,7 +1028,9 @@ class receiveDataThread(threading.Thread): readPosition += signatureLengthLength signature = decryptedData[readPosition:readPosition+signatureLength] try: - highlevelcrypto.verify(decryptedData[:positionOfBottomOfAckData],signature,pubSigningKey.encode('hex')) + if not highlevelcrypto.verify(decryptedData[:positionOfBottomOfAckData],signature,pubSigningKey.encode('hex')): + print 'ECDSA verify failed' + return print 'ECDSA verify passed' except Exception, err: print 'ECDSA verify failed', err @@ -1340,7 +1346,9 @@ class receiveDataThread(threading.Thread): signatureLength, signatureLengthLength = decodeVarint(data[readPosition:readPosition+10]) signature = data[readPosition:readPosition+signatureLengthLength] try: - highlevelcrypto.verify(data[8:readPosition],signature,publicSigningKey.encode('hex')) + if not highlevelcrypto.verify(data[8:readPosition],signature,publicSigningKey.encode('hex')): + print 'ECDSA verify failed (within processpubkey)' + return print 'ECDSA verify passed (within processpubkey)' except Exception, err: print 'ECDSA verify failed (within processpubkey)', err diff --git a/src/shared.py b/src/shared.py index 1aaa0d3a..acc8b3a2 100644 --- a/src/shared.py +++ b/src/shared.py @@ -1,4 +1,4 @@ -softwareVersion = '0.3.211' +softwareVersion = '0.3.3' import threading import sys