code: def _parse_ssl_options(options):
      
      use_ssl = options.get('ssl')
      if use_ssl is not None:
          validate_boolean('ssl', use_ssl)
  
      certfile = options.get('ssl_certfile')
      keyfile = options.get('ssl_keyfile')
      passphrase = options.get('ssl_pem_passphrase')
      ca_certs = options.get('ssl_ca_certs')
      cert_reqs = options.get('ssl_cert_reqs')
      match_hostname = options.get('ssl_match_hostname', True)
      crlfile = options.get('ssl_crlfile')
  
      ssl_kwarg_keys = [k for k in options
                        if k.startswith('ssl_') and options[k]]
      if use_ssl == False and ssl_kwarg_keys:
          raise ConfigurationError("ssl has not been enabled but the "
                                   "following ssl parameters have been set: "
                                   "%s. Please set `ssl=True` or remove."
                                   % ', '.join(ssl_kwarg_keys))
  
      if ssl_kwarg_keys and use_ssl is None:
          # ssl options imply ssl = True
          use_ssl = True
  
      if use_ssl is True:
          ctx = get_ssl_context(
              certfile,
              keyfile,
              passphrase,
              ca_certs,
              cert_reqs,
              crlfile,
              match_hostname)
          return ctx, match_hostname
      return None, match_hostname
docs: Parse ssl options.