diff --git a/nucypher/characters.py b/nucypher/characters.py index 7d75e961f..838040cba 100644 --- a/nucypher/characters.py +++ b/nucypher/characters.py @@ -37,7 +37,7 @@ from nucypher.crypto.signing import signature_splitter, StrangerStamp, Signature from nucypher.network.middleware import RestMiddleware from nucypher.network.nodes import VerifiableNode from nucypher.network.protocols import InterfaceInfo -from nucypher.network.server import NucypherDHTServer, NucypherSeedOnlyDHTServer, ProxyRESTServer +from nucypher.network.server import NucypherDHTServer, NucypherSeedOnlyDHTServer class Character: @@ -1015,7 +1015,7 @@ class Bob(Character): return cleartexts -class Ursula(Character, VerifiableNode, ProxyRESTServer, Miner): +class Ursula(Character, VerifiableNode, Miner): _internal_splitter = BytestringSplitter(Signature, VariableLengthBytestring, (UmbralPublicKey, PUBLIC_KEY_LENGTH), diff --git a/nucypher/crypto/powers.py b/nucypher/crypto/powers.py index 0c29b5f9e..46b6e7be1 100644 --- a/nucypher/crypto/powers.py +++ b/nucypher/crypto/powers.py @@ -136,7 +136,7 @@ class KeyPairBasedPower(CryptoPowerUp): def __init__(self, pubkey: UmbralPublicKey = None, keypair: keypairs.Keypair = None, - generate_keys_if_needed=True) -> None: + ) -> None: if keypair and pubkey: raise ValueError( "Pass keypair or pubkey_bytes (or neither), but not both.") @@ -194,14 +194,6 @@ class EncryptingPower(KeyPairBasedPower): provides = ("decrypt",) -class TLSHostingPower(KeyPairBasedPower): - _keypair_class = HostingKeypair - provides = ("get_deployer",) - - def public_material(self): - return self.keypair.certificate, self.keypair.pubkey - - class DelegatingPower(DerivedKeyBasedPower): def __init__(self): diff --git a/nucypher/network/server.py b/nucypher/network/server.py index f40b87cea..64abd66ca 100644 --- a/nucypher/network/server.py +++ b/nucypher/network/server.py @@ -16,7 +16,7 @@ from umbral import pre from umbral.fragments import KFrag from nucypher.crypto.kits import UmbralMessageKit -from nucypher.crypto.powers import SigningPower, TLSHostingPower +from nucypher.crypto.powers import SigningPower, KeyPairBasedPower from nucypher.keystore.keypairs import HostingKeypair from nucypher.keystore.threading import ThreadedSession from nucypher.network.protocols import NucypherSeedOnlyProtocol, NucypherHashProtocol, InterfaceInfo @@ -341,3 +341,11 @@ class ProxyRESTServer: deployer = self._crypto_power.power_ups(TLSHostingPower).get_deployer(rest_app=self._rest_app, port=self.rest_interface.port) return deployer + + +class TLSHostingPower(KeyPairBasedPower): + _keypair_class = HostingKeypair + provides = ("get_deployer",) + + def public_material(self): + return self.keypair.certificate, self.keypair.pubkey