diff --git a/messenger.py b/messenger.py index d797b59..0b6ee95 100644 --- a/messenger.py +++ b/messenger.py @@ -40,8 +40,10 @@ class MessengerClient: return self.certificate def receiveCertificate(self, certificate, signature): - raise Exception("not implemented!") - return + self.server_signing_pk.verify(signature, certificate, ec.ECDSA(hashes.SHA256())) + name, public_bytes = pickle.loads(certificate) + public_key = ec.EllipticCurvePublicKey.from_encoded_point(CURVE, public_bytes) + self.certs[name] = public_key def sendMessage(self, name, message): raise Exception("not implemented!")