Uploaded image for project: 'Motor'
  1. Motor
  2. MOTOR-747

Test fails due to "SSL: CA_MD_TOO_WEAK" error

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Minor - P4 Minor - P4
    • 2.5
    • Affects Version/s: None
    • Component/s: Tests, TLS/SSL
    • None

      Current master from github, newly-created virtualenv, Python 3.9.

       

      $ PYTHONPATH=. python -munittest test/asyncio_tests/test_asyncio_change_stream.py 
      Traceback (most recent call last):
       File "/src/motor/test/test_environment.py", line 152, in setup_sync_cx
       client = connected(pymongo.MongoClient(
       File "/src/motor/test/test_environment.py", line 77, in connected
       client.admin.command('ismaster') # Force connection.
       File "/src/nnis/v/lib/python3.9/site-packages/pymongo/database.py", line 736, in command
       with self.__client._socket_for_reads(
       File "/usr/lib/python3.9/contextlib.py", line 117, in __enter__
       return next(self.gen)
       File "/src/nnis/v/lib/python3.9/site-packages/pymongo/mongo_client.py", line 1325, in _socket_for_reads
       server = self._select_server(read_preference, session)
       File "/src/nnis/v/lib/python3.9/site-packages/pymongo/mongo_client.py", line 1278, in _select_server
       server = topology.select_server(server_selector)
       File "/src/nnis/v/lib/python3.9/site-packages/pymongo/topology.py", line 241, in select_server
       return random.choice(self.select_servers(selector,
       File "/src/nnis/v/lib/python3.9/site-packages/pymongo/topology.py", line 199, in select_servers
       server_descriptions = self._select_servers_loop(
       File "/src/nnis/v/lib/python3.9/site-packages/pymongo/topology.py", line 215, in _select_servers_loop
       raise ServerSelectionTimeoutError(
      pymongo.errors.ServerSelectionTimeoutError: SSL handshake failed: localhost:27017: EOF occurred in violation of protocol (_ssl.c:1129), Timeout: 0.1s, Topology Description: <TopologyDescription id: 60be4a765b1b6f675e55c773, topology_type: Single, servers: [<ServerDescription ('localhost', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: localhost:27017: EOF occurred in violation of protocol (_ssl.c:1129)')>]>
      During handling of the above exception, another exception occurred:
      Traceback (most recent call last):
       File "/src/nnis/v/lib/python3.9/site-packages/pymongo/ssl_support.py", line 128, in get_ssl_context
       ctx.load_cert_chain(certfile, keyfile, passphrase)
      ssl.SSLError: [SSL: CA_MD_TOO_WEAK] ca md too weak (_ssl.c:4044)
      During handling of the above exception, another exception occurred:
      Traceback (most recent call last):
       File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
       return _run_code(code, main_globals, None,
       File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
       exec(code, run_globals)
       File "/usr/lib/python3.9/unittest/__main__.py", line 18, in <module>
       main(module=None)
       File "/usr/lib/python3.9/unittest/main.py", line 100, in __init__
       self.parseArgs(argv)
       File "/usr/lib/python3.9/unittest/main.py", line 147, in parseArgs
       self.createTests()
       File "/usr/lib/python3.9/unittest/main.py", line 158, in createTests
       self.test = self.testLoader.loadTestsFromNames(self.testNames,
       File "/usr/lib/python3.9/unittest/loader.py", line 220, in loadTestsFromNames
       suites = [self.loadTestsFromName(name, module) for name in names]
       File "/usr/lib/python3.9/unittest/loader.py", line 220, in <listcomp>
       suites = [self.loadTestsFromName(name, module) for name in names]
       File "/usr/lib/python3.9/unittest/loader.py", line 154, in loadTestsFromName
       module = __import__(module_name)
       File "/src/motor/test/__init__.py", line 21, in <module>
       from test.test_environment import env, db_user, CLIENT_PEM
       File "/src/motor/test/test_environment.py", line 341, in <module>
       env.setup()
       File "/src/motor/test/test_environment.py", line 137, in setup
       self.setup_sync_cx()
       File "/src/motor/test/test_environment.py", line 165, in setup_sync_cx
       client = connected(pymongo.MongoClient(
       File "/src/nnis/v/lib/python3.9/site-packages/pymongo/mongo_client.py", line 691, in __init__
       self.__options = options = ClientOptions(
       File "/src/nnis/v/lib/python3.9/site-packages/pymongo/client_options.py", line 161, in __init__
       self.__pool_options = _parse_pool_options(options)
       File "/src/nnis/v/lib/python3.9/site-packages/pymongo/client_options.py", line 131, in _parse_pool_options
       ssl_context, ssl_match_hostname = _parse_ssl_options(options)
       File "/src/nnis/v/lib/python3.9/site-packages/pymongo/client_options.py", line 98, in _parse_ssl_options
       ctx = get_ssl_context(
       File "/src/nnis/v/lib/python3.9/site-packages/pymongo/ssl_support.py", line 130, in get_ssl_context
       raise ConfigurationError(
      pymongo.errors.ConfigurationError: Private key doesn't match certificate: [SSL: CA_MD_TOO_WEAK] ca md too weak (_ssl.c:4044)
      (v) dev:~/src/motor$
      

       

            Assignee:
            shane.harvey@mongodb.com Shane Harvey
            Reporter:
            matthias@urlichs.de Matthias Urlichs
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: