diff --git a/synapse/crypto/keyring.py b/synapse/crypto/keyring.py
index 644c7b14a9..8b6a59866f 100644
--- a/synapse/crypto/keyring.py
+++ b/synapse/crypto/keyring.py
@@ -14,20 +14,20 @@
# limitations under the License.
from synapse.crypto.keyclient import fetch_server_key
+from synapse.api.errors import SynapseError, Codes
+from synapse.util.retryutils import get_retry_limiter
+from synapse.util import unwrapFirstError
+from synapse.util.async import ObservableDeferred
+
from twisted.internet import defer
-from syutil.crypto.jsonsign import (
+
+from signedjson.sign import (
verify_signed_json, signature_ids, sign_json, encode_canonical_json
)
-from syutil.crypto.signing_key import (
+from signedjson.key import (
is_signing_algorithm_supported, decode_verify_key_bytes
)
-from syutil.base64util import decode_base64, encode_base64
-from synapse.api.errors import SynapseError, Codes
-
-from synapse.util.retryutils import get_retry_limiter
-from synapse.util import unwrapFirstError
-
-from synapse.util.async import ObservableDeferred
+from unpaddedbase64 import decode_base64, encode_base64
from OpenSSL import crypto
@@ -228,10 +228,9 @@ class Keyring(object):
def do_iterations():
merged_results = {}
- missing_keys = {
- group.server_name: set(group.key_ids)
- for group in group_id_to_group.values()
- }
+ missing_keys = {}
+ for group in group_id_to_group.values():
+ missing_keys.setdefault(group.server_name, set()).union(group.key_ids)
for fn in key_fetch_fns:
results = yield fn(missing_keys.items())
@@ -470,7 +469,7 @@ class Keyring(object):
continue
(response, tls_certificate) = yield fetch_server_key(
- server_name, self.hs.tls_context_factory,
+ server_name, self.hs.tls_server_context_factory,
path=(b"/_matrix/key/v2/server/%s" % (
urllib.quote(requested_key_id),
)).encode("ascii"),
@@ -604,7 +603,7 @@ class Keyring(object):
# Try to fetch the key from the remote server.
(response, tls_certificate) = yield fetch_server_key(
- server_name, self.hs.tls_context_factory
+ server_name, self.hs.tls_server_context_factory
)
# Check the response.
|