code: def _load_cert_chain(self, cert_url, x509_backend=default_backend()):
          # type: (str, X509Backend) -> Certificate
          
          try:
              if cert_url in self._cert_cache:
                  return self._cert_cache.get(cert_url)
              else:
                  with urlopen(cert_url) as cert_response:
                      cert_data = cert_response.read()
                      x509_certificate = load_pem_x509_certificate(
                          cert_data, x509_backend)
                      self._cert_cache[cert_url] = x509_certificate
                      return x509_certificate
          except ValueError as e:
              raise VerificationException(
                  "Unable to load certificate from URL", e)
docs: Loads the certificate chain from the URL.
  
          This method loads the certificate chain from the certificate
          cache. If there is a cache miss, the certificate chain is
          loaded from the certificate URL using the
          :py:func:`cryptography.x509.load_pem_x509_certificate` method.
          The x509 backend is set as default to the
          :py:class:`cryptography.hazmat.backends.default_backend`
          instance. A :py:class:`VerificationException` is raised if the
          certificate cannot be loaded.
  
          :param cert_url: URL for retrieving certificate chain
          :type cert_url: str
          :param x509_backend: Backend to be used, for loading pem x509
              certificate
          :type x509_backend:
              cryptography.hazmat.backends.interfaces.X509Backend
          :return: Certificate chain loaded from cache or URL
          :rtype cryptography.x509.Certificate
          :raises: :py:class:`VerificationException` if unable to load the
              certificate