Store GROUP destination symmetric key as bytes instead of base64

This commit is contained in:
Mark Qvist 2021-05-20 12:44:12 +02:00
parent 2b97c89566
commit f880edbeb8
1 changed files with 3 additions and 7 deletions

View File

@ -5,9 +5,6 @@ import RNS
from cryptography.fernet import Fernet
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography.hazmat.primitives.asymmetric import padding
class Callbacks:
def __init__(self):
@ -32,7 +29,6 @@ class Destination:
"""
KEYSIZE = RNS.Identity.KEYSIZE;
PADDINGSIZE= RNS.Identity.PADDINGSIZE;
# Constants
SINGLE = 0x00
@ -245,8 +241,8 @@ class Destination:
raise TypeError("A single destination holds keys through an Identity instance")
if self.type == Destination.GROUP:
self.prv_bytes = Fernet.generate_key()
self.prv = Fernet(self.prv_bytes)
self.prv_bytes = base64.urlsafe_b64decode(Fernet.generate_key())
self.prv = Fernet(base64.urlsafe_b64encode(self.prv_bytes))
def get_private_key(self):
@ -278,7 +274,7 @@ class Destination:
if self.type == Destination.GROUP:
self.prv_bytes = key
self.prv = Fernet(self.prv_bytes)
self.prv = Fernet(base64.urlsafe_b64encode(self.prv_bytes))
def load_public_key(self, key):
if self.type != Destination.SINGLE: