Example #1
0
    def validate_ca_cert(self, ignored):
        expected = self._get_expected_ca_cert_fingerprint()
        algo, expectedfp = expected.split(':')
        expectedfp = expectedfp.replace(' ', '')
        backend = default_backend()

        with open(self._get_ca_cert_path(), 'r') as f:
            certstr = f.read()
        cert = load_pem_x509_certificate(certstr, backend)
        hasher = getattr(hashes, algo)()
        fpbytes = cert.fingerprint(hasher)
        fp = binascii.hexlify(fpbytes)

        if fp != expectedfp:
            os.unlink(self._get_ca_cert_path())
            self.log.error("Fingerprint of CA cert doesn't match: %s <-> %s" %
                           (fp, expectedfp))
            raise NetworkError("The provider's CA fingerprint doesn't match")
Example #2
0
 def errback(failure):
     raise NetworkError(failure.getErrorMessage())
Example #3
0
 def errback(failure):
     shutil.rmtree(folders)
     raise NetworkError(failure.getErrorMessage())