summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2019-04-02 11:09:43 +0100
committerAndrew Morgan <andrew@amorgan.xyz>2019-04-02 11:09:43 +0100
commitaeffa4d84aa61622c12388a706efd1fc854c5ceb (patch)
tree348a704d8da49982a1f310ef27feb1fb6ed2f4de /synapse
parentRemove TODO (diff)
downloadsynapse-aeffa4d84aa61622c12388a706efd1fc854c5ceb.tar.xz
Use platformTrust instead of verify=True
Diffstat (limited to 'synapse')
-rw-r--r--synapse/crypto/context_factory.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/synapse/crypto/context_factory.py b/synapse/crypto/context_factory.py

index 0035846de0..a9561ac0b7 100644 --- a/synapse/crypto/context_factory.py +++ b/synapse/crypto/context_factory.py
@@ -21,7 +21,7 @@ from OpenSSL import SSL, crypto from twisted.internet._sslverify import _defaultCurveName from twisted.internet.abstract import isIPAddress, isIPv6Address from twisted.internet.interfaces import IOpenSSLClientConnectionCreator -from twisted.internet.ssl import CertificateOptions, ContextFactory +from twisted.internet.ssl import CertificateOptions, ContextFactory, platformTrust from twisted.python.failure import Failure logger = logging.getLogger(__name__) @@ -132,14 +132,17 @@ class ClientTLSOptionsFactory(object): # Check if we're using a custom list of a CA certificates if config.federation_custom_ca_list is not None: self._options_validate = CertificateOptions( - # This option implies verify=True + # Use custom CA trusted root certs trustRoot=config.federation_custom_ca_list, ) else: # If not, verify using those provided by the operating environment - self._options_validate = CertificateOptions(verify=True) + self._options_validate = CertificateOptions( + # Use CA root certs provided by OpenSSL + trustRoot=platformTrust(), + ) - self._options_novalidate = CertificateOptions(verify=False) + self._options_novalidate = CertificateOptions() def get_options(self, host): # Use _makeContext so that we get a fresh OpenSSL CTX each time.