From b420e2a1da4a7678a5f09696a0f2c4d96ef46d71 Mon Sep 17 00:00:00 2001 From: Jakub Warmuz Date: Tue, 2 Jun 2015 06:55:23 +0000 Subject: [PATCH 1/2] Fix --no-verify-ssl negation bug --- letsencrypt/client.py | 2 +- letsencrypt/tests/client_test.py | 30 +++++++++++++++++++++++++++++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/letsencrypt/client.py b/letsencrypt/client.py index c4b8ef40c..a32722148 100644 --- a/letsencrypt/client.py +++ b/letsencrypt/client.py @@ -64,7 +64,7 @@ class Client(object): # TODO: Allow for other alg types besides RS256 self.network = network2.Network( config.server, jwk.JWKRSA.load(self.account.key.pem), - verify_ssl=config.no_verify_ssl) + verify_ssl=(not config.no_verify_ssl)) self.config = config diff --git a/letsencrypt/tests/client_test.py b/letsencrypt/tests/client_test.py index 5dade01b7..7687d5205 100644 --- a/letsencrypt/tests/client_test.py +++ b/letsencrypt/tests/client_test.py @@ -1,6 +1,7 @@ """Tests for letsencrypt.client.""" import os import unittest +import pkg_resources import shutil import tempfile @@ -11,7 +12,33 @@ from letsencrypt import configuration from letsencrypt import le_util +KEY = pkg_resources.resource_string( + __name__, os.path.join("testdata", "rsa512_key.pem")) + + +class ClientTest(unittest.TestCase): + """Tests for letsencrypt.client.Client.""" + + def setUp(self): + self.config = mock.MagicMock(no_verify_ssl=False) + # pylint: disable=star-args + self.account = mock.MagicMock(**{"key.pem": KEY}) + + from letsencrypt.client import Client + with mock.patch("letsencrypt.client.network2") as network2: + self.client = Client( + config=self.config, account_=self.account, dv_auth=None, + installer=None) + self.network2 = network2 + + def test_init_network_verify_ssl(self): + self.network2.Network.assert_called_once_with( + mock.ANY, mock.ANY, verify_ssl=True) + + class DetermineAccountTest(unittest.TestCase): + """Tests for letsencrypt.client.determine_authenticator.""" + def setUp(self): self.accounts_dir = tempfile.mkdtemp("accounts") account_keys_dir = os.path.join(self.accounts_dir, "keys") @@ -54,7 +81,8 @@ class DetermineAccountTest(unittest.TestCase): class RollbackTest(unittest.TestCase): - """Test the rollback function.""" + """Tests for letsencrypt.client.rollback.""" + def setUp(self): self.m_install = mock.MagicMock() From 73e9956a481cf6504439ce437db1de978c00b046 Mon Sep 17 00:00:00 2001 From: e00E Date: Tue, 2 Jun 2015 18:17:18 +0200 Subject: [PATCH 2/2] Fixed not passing a string as the private key to deploy_certificate when using an Installer plugin. --- letsencrypt/cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/letsencrypt/cli.py b/letsencrypt/cli.py index 169b55aff..fe3be19bc 100644 --- a/letsencrypt/cli.py +++ b/letsencrypt/cli.py @@ -147,7 +147,7 @@ def install(args, config, plugins): acme, doms = _common_run( args, config, acc, authenticator=None, installer=installer) assert args.cert_path is not None - acme.deploy_certificate(doms, acc.key, args.cert_path, args.chain_path) + acme.deploy_certificate(doms, acc.key.file, args.cert_path, args.chain_path) acme.enhance_config(doms, args.redirect)