Implement generate_dh and generateCertificate
This commit is contained in:
+14
-2
@@ -1,6 +1,15 @@
|
|||||||
import os
|
import os
|
||||||
import pickle
|
import pickle
|
||||||
import string
|
import string
|
||||||
|
from cryptography.hazmat.primitives import hashes, serialization
|
||||||
|
from cryptography.hazmat.primitives.asymmetric import ec
|
||||||
|
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
|
||||||
|
from cryptography.hazmat.primitives.kdf.hkdf import HKDF
|
||||||
|
|
||||||
|
CURVE = ec.SECP256R1()
|
||||||
|
|
||||||
|
def GENERATE_DH():
|
||||||
|
return ec.generate_private_key(CURVE)
|
||||||
|
|
||||||
class MessengerServer:
|
class MessengerServer:
|
||||||
def __init__(self, server_signing_key, server_decryption_key):
|
def __init__(self, server_signing_key, server_decryption_key):
|
||||||
@@ -23,10 +32,13 @@ class MessengerClient:
|
|||||||
self.server_encryption_pk = server_encryption_pk
|
self.server_encryption_pk = server_encryption_pk
|
||||||
self.conns = {}
|
self.conns = {}
|
||||||
self.certs = {}
|
self.certs = {}
|
||||||
|
self.dh = GENERATE_DH()
|
||||||
|
self.certificate = None
|
||||||
|
|
||||||
def generateCertificate(self):
|
def generateCertificate(self):
|
||||||
raise Exception("not implemented!")
|
self.certificate = pickle.dumps((self.name, self.dh.public_key().public_bytes(serialization.Encoding.X962,
|
||||||
return
|
serialization.PublicFormat.UncompressedPoint)))
|
||||||
|
return self.certificate
|
||||||
|
|
||||||
def receiveCertificate(self, certificate, signature):
|
def receiveCertificate(self, certificate, signature):
|
||||||
raise Exception("not implemented!")
|
raise Exception("not implemented!")
|
||||||
|
|||||||
Reference in New Issue
Block a user