def test_load_rsa_from_pem(public_key, private_key): object = key_utils.load_rsa_from_pem( os.path.join('tests', 'testkey_pub.bin')) assert object == public_key object = key_utils.load_rsa_from_pem( os.path.join('tests', 'testkey_priv.bin')) assert object == private_key
def _setup_public_key(self): """Load RSA keypair. Create a public/private key pair on setup and save them in files. If the full client restarts, file will be read in. """ key_folder = CONFIG.key_folder if not os.path.isdir(key_folder) or os.listdir(key_folder) == []: # No keys present, so generate new pair os.makedirs(CONFIG.key_folder, exist_ok=True) logger.info("Generating new public/private key pair") self.public_key, self.private_key = generate_keypair() path = os.path.join(key_folder, CONFIG.key_file_names[0]) key_utils.write_key_to_pem(self.public_key, path) path = os.path.join(key_folder, CONFIG.key_file_names[1]) key_utils.write_key_to_pem(self.private_key, path) elif set(os.listdir(key_folder)) != set(CONFIG.key_file_names): # One key is missing logger.error("Public or Private key are not existent!") assert os.listdir(key_folder) == CONFIG.key_file_names else: # Keys are present path = os.path.join(key_folder, CONFIG.key_file_names[0]) self.public_key = key_utils.load_rsa_from_pem(path) path = os.path.join(key_folder, CONFIG.key_file_names[1]) self.private_key = key_utils.load_rsa_from_pem(path) self.public_key = key_utils.rsa_to_bytes(self.public_key)
def setup_module(module): shutil.rmtree(CONFIG.persistance_folder, True) os.makedirs(CONFIG.persistance_folder) create_initial_block().persist() global PUBLIC_KEY, PRIVATE_KEY PUBLIC_KEY = load_rsa_from_pem(os.path.join("tests", "keys", "public_key.bin")) PRIVATE_KEY = load_rsa_from_pem(os.path.join("tests", "keys", "private_key.bin"))
def setup_module(module): # blockchain files folder will be deleted by create_initial_block global GENESIS, PUBLIC_KEY, PRIVATE_KEY GENESIS = create_initial_block() public_key_path = os.path.join(CONFIG.key_folder, CONFIG.key_file_names[0]) private_key_path = os.path.join(CONFIG.key_folder, CONFIG.key_file_names[1]) PUBLIC_KEY = load_rsa_from_pem(public_key_path) PRIVATE_KEY = load_rsa_from_pem(private_key_path)
# noinspection PyUnresolvedReferences from time import sleep from blockchain.full_client import FullClient from blockchain.chain import Chain from blockchain.block import Block, create_initial_block from blockchain.config import CONFIG from blockchain.helper.key_utils import load_rsa_from_pem import pytest import os from tests.config_fixture import setup_test_config setup_test_config() PUBLIC_KEY = load_rsa_from_pem("tests" + os.sep + "testkey_pub.bin") PRIVATE_KEY = load_rsa_from_pem("tests" + os.sep + "testkey_priv.bin") def setup_module(module): shutil.rmtree(CONFIG.persistance_folder, True) os.makedirs(CONFIG.persistance_folder) def test_chain_is_singleton(): chain_1 = Chain(load_persisted=False) chain_2 = Chain(load_persisted=False) assert id(chain_1) == id(chain_2) @pytest.fixture(scope="module")