Init script extension and key loading for netwrapper

This commit is contained in:
2021-04-25 15:24:24 +02:00
parent a5b77d0306
commit b87e2c3b3d
3 changed files with 65 additions and 16 deletions

View File

@@ -5,6 +5,7 @@ import pyDH
from Crypto.Cipher import PKCS1_OAEP
from Crypto.PublicKey import RSA
from Crypto.Cipher import ChaCha20
from Crypto.PublicKey.RSA import RsaKey
from Crypto.Random import get_random_bytes
from netsim import network_interface
@@ -13,7 +14,7 @@ from server.server import Server
class NetWrapper:
def __init__(self, clientPublicKey: dict, serverPrivateKey: str, serverInstance: Server):
def __init__(self, clientPublicKey: dict, serverPrivateKey: RsaKey, serverInstance: Server):
self.clientPublicKey = clientPublicKey
self.currentClientPublicKey = "".encode('UTF-8')
self.serverPrivateKey = serverPrivateKey
@@ -30,9 +31,7 @@ class NetWrapper:
self.clientAddr = incommingJson['source']
self.currentUser = incommingJson['username']
self.currentClientPublicKey = self.clientPublicKey[self.currentUser]
myrsakey = RSA.import_key(self.serverPrivateKey)
mycipher = PKCS1_OAEP.new(myrsakey)
retmsg = mycipher.decrypt(b64decode(incommingJson['message'])).decode('UTF-8')
retmsg = self.serverPrivateKey.decrypt(b64decode(incommingJson['message'])).decode('UTF-8')
rsakey = RSA.import_key(self.currentClientPublicKey)
cipher = PKCS1_OAEP.new(rsakey)
identMsg = json.dumps(
@@ -63,9 +62,7 @@ class NetWrapper:
if not status:
raise Exception('Network error during connection.')
decodedmsg = json.loads(msg.decode('UTF-8'))
myrsakey = RSA.import_key(self.serverPrivateKey)
mycipher = PKCS1_OAEP.new(myrsakey)
serverpubkey = int(mycipher.decrypt(b64decode(decodedmsg['message'])).decode('UTF-8'))
serverpubkey = int(self.serverPrivateKey.decrypt(b64decode(decodedmsg['message'])).decode('UTF-8'))
self.cipherkey = dh.gen_shared_key(serverpubkey).encode('UTF-8')
def login(self) -> bool: