Beispiel #1
0
def test():
    print("Generating dummy certificates")
    # CA.get_instance().generateDummyCertificates(n=10)
    print("creating the sender alice")
    alice = Sender("alice.main.py", persist=True)
    print("creating the receiver bob")
    bob = Receiver("bob.main.py", persist=True)
    plainText = "hello bob, this is me alice from main.py file :)"
    messagePath = alice.sendTo(bob.id, message=plainText)
    sendInfo = alice.lastSendInfo
    with open(messagePath) as messageFile:
        recText = messageFile.read()

    bob.onReceive(recText)
    recInfo = bob.lastRecInfo

    print("plain text at sender", plainText)
    plainText2 = recInfo.get("plainText", None)
    print("plain text at receiver", plainText2)
    assert plainText == plainText2, "different values of sended message and received one"
    print("does the message signature valid ?", recInfo.get("messageVer"))
Beispiel #2
0
def test():
    print("Generating dummy certificates")
    # CA.get_instance().generateDummyCertificates(n=10)
    print("creating the true sender alice")
    alice = Sender("alice.extra.py", persist=True)
    print("creating the receiver bob")
    bob = Receiver("bob.extra.py", persist=True)
    plainText = "hello bob, this is me alice from extra.py file :)"
    messagePath = alice.sendTo(bob.id, message=plainText)
    sendInfo = alice.lastSendInfo
    with open(messagePath) as messageFile:
        recTextOrig = messageFile.read()
    print("making an attack, try to change the message sended")
    recText = recTextOrig
    recJson = json.loads(recText)
    recJson["message"] += "56"  # only one new char
    recText = json.dumps(recJson)

    try:
        bob.onReceive(recText)
        assert False, "receive should throw exception but it doesn't"
    except ValueError as e:
        print("value error because this message can't be decrypted")

    print(
        "try to change the whole message content using bob public key (all people know the public key)"
    )
    recText = recTextOrig
    recJson = json.loads(recText)
    import rsa
    from sender import strHexOfBytes
    evilMessage = "this is an evil message from attacker"
    recJson["message"] = strHexOfBytes(rsa.encrypt(evilMessage, bob.publicKey))
    recText = json.dumps(recJson)
    bob.onReceive(recText)
    lastInfo = bob.lastRecInfo
    print(lastInfo.get("plainText"))
    print("does the message signature valid ?", lastInfo.get("messageVer"))