def test_rsa_provider_adapter(self):
        silently_remove('./rsa-test.public_key.pem')
        silently_remove('./rsa-test.private_key.pem')

        provider = LocalRsaProvider(dir='./', key='rsa-test')
        content = b'a' * random.randint(1, 100) * 1024
        content_crypto_material = provider.create_content_material()
        plain_key = provider.decrypt_encrypted_key(
            content_crypto_material.encrypted_key)
        plain_iv = provider.decrypt_encrypted_iv(
            content_crypto_material.encrypted_iv)
        cipher = content_crypto_material.cipher

        stream_encrypted = provider.make_encrypt_adapter(content, cipher)
        encrypted_content = stream_encrypted.read()
        # reset cipher
        cipher.initialize(plain_key, plain_iv)
        stream_decrypted = provider.make_decrypt_adapter(
            encrypted_content, cipher)
        self.assertEqual(content, stream_decrypted.read())

        silently_remove('./rsa-test.public_key.pem')
        silently_remove('./rsa-test.private_key.pem')

        provider = RsaProvider(key_pair)
        content = b'b' * random.randint(1, 100) * 1024
        content_crypto_material = provider.create_content_material()
        plain_key = provider.decrypt_encrypted_key(
            content_crypto_material.encrypted_key)
        plain_iv = provider.decrypt_encrypted_iv(
            content_crypto_material.encrypted_iv)
        cipher = content_crypto_material.cipher

        stream_encrypted = provider.make_encrypt_adapter(content, cipher)
        encrypted_content = stream_encrypted.read()
        # reset cipher
        cipher.initialize(plain_key, plain_iv)
        stream_decrypted = provider.make_decrypt_adapter(
            encrypted_content, cipher)
        self.assertEqual(content, stream_decrypted.read())
    def test_rsa_adapter(self):
        silently_remove('./rsa-test.public_key.pem')
        silently_remove('./rsa-test.private_key.pem')

        content = b'1234'*10

        rsa = LocalRsaProvider(dir='./', key='rsa-test', passphrase='1234')
        key = rsa.get_key()
        start = rsa.get_start()
        adapter = rsa.make_encrypt_adapter(content, key, start)
        encrypt_content = adapter.read()
        self.assertNotEqual(content, encrypt_content)

        adapter1 = rsa.make_decrypt_adapter(encrypt_content, key, start)
        self.assertEqual(content, adapter1.read())

        silently_remove('./rsa-test.public_key.pem')
        silently_remove('./rsa-test.private_key.pem')
    def test_rsa_adapter(self):
        silently_remove('./rsa-test.public_key.pem')
        silently_remove('./rsa-test.private_key.pem')

        content = b'1234' * 10

        rsa = LocalRsaProvider(dir='./', key='rsa-test', passphrase='1234')
        key = rsa.get_key()
        start = rsa.get_start()
        adapter = rsa.make_encrypt_adapter(content, key, start)
        encrypt_content = adapter.read()
        self.assertNotEqual(content, encrypt_content)

        adapter1 = rsa.make_decrypt_adapter(encrypt_content, key, start)
        self.assertEqual(content, adapter1.read())

        silently_remove('./rsa-test.public_key.pem')
        silently_remove('./rsa-test.private_key.pem')