Пример #1
0
 def test_revoke_without_key(self, mock_determine_account):
     mock_determine_account.return_value = (mock.MagicMock(), None)
     _, _, _, client = self._call(['--cert-path', CERT, 'revoke'])
     with open(CERT) as f:
         cert = crypto_util.pyopenssl_load_certificate(f.read())[0]
         mock_revoke = client.acme_from_config_key().revoke
         mock_revoke.assert_called_once_with(jose.ComparableX509(cert))
Пример #2
0
    def _get_installed_locations(self):
        """Get installed locations of certificates.

        :returns: map from cert sha1 fingerprint to :class:`list` of vhosts
            where the certificate is installed.

        """
        csha1_vhlist = {}

        if self.installer is None:
            return csha1_vhlist

        for (cert_path, _, path) in self.installer.get_all_certs_keys():
            try:
                with open(cert_path) as cert_file:
                    cert_data = cert_file.read()
            except IOError:
                continue
            try:
                cert_obj, _ = crypto_util.pyopenssl_load_certificate(cert_data)
            except errors.Error:
                continue
            cert_sha1 = cert_obj.digest("sha1")
            if cert_sha1 in csha1_vhlist:
                csha1_vhlist[cert_sha1].append(path)
            else:
                csha1_vhlist[cert_sha1] = [path]

        return csha1_vhlist
Пример #3
0
 def test_revoke_without_key(self, mock_determine_account):
     mock_determine_account.return_value = (mock.MagicMock(), None)
     _, _, _, client = self._call(["--cert-path", CERT, "revoke"])
     with open(CERT) as f:
         cert = crypto_util.pyopenssl_load_certificate(f.read())[0]
         mock_revoke = client.acme_from_config_key().revoke
         mock_revoke.assert_called_once_with(jose.ComparableX509(cert))
Пример #4
0
    def _get_installed_locations(self):
        """Get installed locations of certificates.

        :returns: map from cert sha1 fingerprint to :class:`list` of vhosts
            where the certificate is installed.

        """
        csha1_vhlist = {}

        if self.installer is None:
            return csha1_vhlist

        for (cert_path, _, path) in self.installer.get_all_certs_keys():
            try:
                with open(cert_path) as cert_file:
                    cert_data = cert_file.read()
            except IOError:
                continue
            try:
                cert_obj, _ = crypto_util.pyopenssl_load_certificate(cert_data)
            except errors.Error:
                continue
            cert_sha1 = cert_obj.digest("sha1")
            if cert_sha1 in csha1_vhlist:
                csha1_vhlist[cert_sha1].append(path)
            else:
                csha1_vhlist[cert_sha1] = [path]

        return csha1_vhlist
Пример #5
0
    def test_load_valid_cert(self):
        from letsencrypt.crypto_util import pyopenssl_load_certificate

        cert, file_type = pyopenssl_load_certificate(CERT)
        self.assertEqual(
            cert.digest('sha1'),
            OpenSSL.crypto.load_certificate(file_type, CERT).digest('sha1'))
Пример #6
0
 def test_revoke_with_key(self, mock_acme_client):
     server = "foo.bar"
     self._call_no_clientmock(["--cert-path", CERT, "--key-path", KEY, "--server", server, "revoke"])
     with open(KEY) as f:
         mock_acme_client.Client.assert_called_once_with(server, key=jose.JWK.load(f.read()), net=mock.ANY)
     with open(CERT) as f:
         cert = crypto_util.pyopenssl_load_certificate(f.read())[0]
         mock_revoke = mock_acme_client.Client().revoke
         mock_revoke.assert_called_once_with(jose.ComparableX509(cert))
Пример #7
0
 def test_revoke_with_key(self, mock_acme_client):
     server = 'foo.bar'
     self._call_no_clientmock(['--cert-path', CERT, '--key-path', KEY,
                              '--server', server, 'revoke'])
     with open(KEY) as f:
         mock_acme_client.Client.assert_called_once_with(
             server, key=jose.JWK.load(f.read()), net=mock.ANY)
     with open(CERT) as f:
         cert = crypto_util.pyopenssl_load_certificate(f.read())[0]
         mock_revoke = mock_acme_client.Client().revoke
         mock_revoke.assert_called_once_with(jose.ComparableX509(cert))
Пример #8
0
def revoke(args, config, unused_plugins):  # TODO: coop with renewal config
    """Revoke a previously obtained certificate."""
    if args.key_path is not None:  # revocation by cert key
        logger.debug("Revoking %s using cert key %s", args.cert_path[0], args.key_path[0])
        acme = acme_client.Client(config.server, key=jose.JWK.load(args.key_path[1]))
    else:  # revocation by account key
        logger.debug("Revoking %s using Account Key", args.cert_path[0])
        acc, _ = _determine_account(args, config)
        # pylint: disable=protected-access
        acme = client._acme_from_config_key(config, acc.key)
    acme.revoke(jose.ComparableX509(crypto_util.pyopenssl_load_certificate(args.cert_path[1])[0]))
Пример #9
0
def revoke(args, config, unused_plugins):  # TODO: coop with renewal config
    """Revoke a previously obtained certificate."""
    # For user-agent construction
    config.namespace.installer = config.namespace.authenticator = "none"
    if args.key_path is not None:  # revocation by cert key
        logger.debug("Revoking %s using cert key %s", args.cert_path[0], args.key_path[0])
        key = jose.JWK.load(args.key_path[1])
    else:  # revocation by account key
        logger.debug("Revoking %s using Account Key", args.cert_path[0])
        acc, _ = _determine_account(args, config)
        key = acc.key
    acme = client.acme_from_config_key(config, key)
    cert = crypto_util.pyopenssl_load_certificate(args.cert_path[1])[0]
    acme.revoke(jose.ComparableX509(cert))
Пример #10
0
def revoke(args, config, unused_plugins):  # TODO: coop with renewal config
    """Revoke a previously obtained certificate."""
    if args.key_path is not None:  # revocation by cert key
        logger.debug("Revoking %s using cert key %s",
                     args.cert_path[0], args.key_path[0])
        acme = acme_client.Client(
            config.server, key=jose.JWK.load(args.key_path[1]))
    else:  # revocation by account key
        logger.debug("Revoking %s using Account Key", args.cert_path[0])
        acc, _ = _determine_account(args, config)
        # pylint: disable=protected-access
        acme = client._acme_from_config_key(config, acc.key)
    acme.revoke(jose.ComparableX509(crypto_util.pyopenssl_load_certificate(
        args.cert_path[1])[0]))
Пример #11
0
def revoke(config, unused_plugins):  # TODO: coop with renewal config
    """Revoke a previously obtained certificate."""
    # For user-agent construction
    config.namespace.installer = config.namespace.authenticator = "None"
    if config.key_path is not None:  # revocation by cert key
        logger.debug("Revoking %s using cert key %s", config.cert_path[0],
                     config.key_path[0])
        key = jose.JWK.load(config.key_path[1])
    else:  # revocation by account key
        logger.debug("Revoking %s using Account Key", config.cert_path[0])
        acc, _ = _determine_account(config)
        key = acc.key
    acme = client.acme_from_config_key(config, key)
    cert = crypto_util.pyopenssl_load_certificate(config.cert_path[1])[0]
    acme.revoke(jose.ComparableX509(cert))
    def test_load_invalid_cert(self):
        from letsencrypt.crypto_util import pyopenssl_load_certificate
        bad_cert_data = CERT.replace("BEGIN CERTIFICATE", "ASDFASDFASDF!!!")

        with self.assertRaises(errors.Error):
            pyopenssl_load_certificate(bad_cert_data)
    def test_load_valid_cert(self):
        from letsencrypt.crypto_util import pyopenssl_load_certificate

        cert, file_type = pyopenssl_load_certificate(CERT)
        self.assertEqual(cert.digest('sha1'),
                         OpenSSL.crypto.load_certificate(file_type, CERT).digest('sha1'))
Пример #14
0
    def test_load_invalid_cert(self):
        from letsencrypt.crypto_util import pyopenssl_load_certificate
        bad_cert_data = CERT.replace("BEGIN CERTIFICATE", "ASDFASDFASDF!!!")

        with self.assertRaises(errors.Error):
            pyopenssl_load_certificate(bad_cert_data)