added sign and verify func

This commit is contained in:
Ryan Bakkes 2023-11-06 17:11:03 +01:00
parent 8869c49294
commit 6e7528c2a3

View File

@ -1,6 +1,8 @@
from cryptography.exceptions import * from cryptography.exceptions import *
from cryptography.hazmat.primitives.asymmetric import rsa from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import padding
def generateKeys(): def generateKeys():
private_key = rsa.generate_private_key(public_exponent=65537,key_size=2048) private_key = rsa.generate_private_key(public_exponent=65537,key_size=2048)
@ -38,3 +40,30 @@ def bytesToKeys(private_ser, public_ser):
public_ser public_ser
) )
return private_key, public_key return private_key, public_key
def sign(message, private_key):
message = bytes(str(message), 'utf-8')
signature = private_key.sign(
message,
padding.PSS(mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH),
hashes.SHA256()
)
return signature
def verify(message, signature, pbc_ser):
message = bytes(str(message), 'utf-8')
public_key = serialization.load_pem_public_key(pbc_ser)
try:
public_key.verify(
signature,
message,
padding.PSS(mgf=padding.MGF1(hashes.SHA256()),
salt_length=padding.PSS.MAX_LENGTH),
hashes.SHA256()
)
return True
except InvalidSignature:
return False
except:
print("Error executing 'public_key.verify'")
return False