summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--synapse/crypto/context_factory.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/synapse/crypto/context_factory.py b/synapse/crypto/context_factory.py
index fe58d65305..45958abbf5 100644
--- a/synapse/crypto/context_factory.py
+++ b/synapse/crypto/context_factory.py
@@ -1,5 +1,6 @@
 from twisted.internet import reactor, ssl
 from OpenSSL import SSL
+from twisted.internet._sslverify import _OpenSSLECCurve, _defaultCurveName
 
 
 class ServerContextFactory(ssl.ContextFactory):
@@ -12,6 +13,11 @@ class ServerContextFactory(ssl.ContextFactory):
 
     @staticmethod
     def configure_context(context, config):
+        try:
+            _ecCurve = _OpenSSLECCurve(_defaultCurveName)
+            _ecCurve.addECKeyToContext(context)
+        except:
+            pass
         context.set_options(SSL.OP_NO_SSLv2 | SSL.OP_NO_SSLv3)
         context.use_certificate(config.tls_certificate)
         context.use_privatekey(config.tls_private_key)