mirror of
https://github.com/certbot/certbot.git
synced 2026-08-01 19:02:52 +02:00
crypto_util: merge _pyopenssl_load into pyopenssl_load_certificate
This commit is contained in:
+11
-13
@@ -201,25 +201,23 @@ def valid_privkey(privkey):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def _pyopenssl_load(data, method, types=(
|
|
||||||
OpenSSL.crypto.FILETYPE_PEM, OpenSSL.crypto.FILETYPE_ASN1)):
|
|
||||||
openssl_errors = []
|
|
||||||
for filetype in types:
|
|
||||||
try:
|
|
||||||
return method(filetype, data), filetype
|
|
||||||
except OpenSSL.crypto.Error as error: # TODO: anything else?
|
|
||||||
openssl_errors.append(error)
|
|
||||||
raise errors.Error("Unable to load: {0}".format(",".join(
|
|
||||||
str(error) for error in openssl_errors)))
|
|
||||||
|
|
||||||
|
|
||||||
def pyopenssl_load_certificate(data):
|
def pyopenssl_load_certificate(data):
|
||||||
"""Load PEM/DER certificate.
|
"""Load PEM/DER certificate.
|
||||||
|
|
||||||
:raises errors.Error:
|
:raises errors.Error:
|
||||||
|
|
||||||
"""
|
"""
|
||||||
return _pyopenssl_load(data, OpenSSL.crypto.load_certificate)
|
|
||||||
|
openssl_errors = []
|
||||||
|
|
||||||
|
for file_type in (OpenSSL.crypto.FILETYPE_PEM, OpenSSL.crypto.FILETYPE_ASN1):
|
||||||
|
try:
|
||||||
|
return OpenSSL.crypto.load_certificate(file_type, data), file_type
|
||||||
|
except OpenSSL.crypto.Error as error: # TODO: other errors?
|
||||||
|
openssl_errors.append(error)
|
||||||
|
raise errors.Error("Unable to load: {0}".format(",".join(
|
||||||
|
str(error) for error in openssl_errors)))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def _get_sans_from_cert_or_req(
|
def _get_sans_from_cert_or_req(
|
||||||
|
|||||||
@@ -212,17 +212,10 @@ class GetSANsFromCSRTest(unittest.TestCase):
|
|||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
[], self._call(test_util.load_vector('csr-nosans.pem')))
|
[], self._call(test_util.load_vector('csr-nosans.pem')))
|
||||||
|
|
||||||
class PyOpenSslLoaderTest(unittest.TestCase):
|
|
||||||
def test_pyopenssl_load(self):
|
|
||||||
from letsencrypt.crypto_util import _pyopenssl_load
|
|
||||||
|
|
||||||
method_mock = mock.MagicMock()
|
|
||||||
fake_data = "this is test data"
|
|
||||||
fake_types = ('fake loading type',)
|
|
||||||
_pyopenssl_load(fake_data, method_mock, fake_types)
|
|
||||||
method_mock.assert_called_with(fake_types[0], fake_data)
|
|
||||||
|
|
||||||
class CertLoaderTest(unittest.TestCase):
|
class CertLoaderTest(unittest.TestCase):
|
||||||
|
"""Tests for letsencrypt.crypto_util.pyopenssl_load_certificate"""
|
||||||
|
|
||||||
def test_it(self):
|
def test_it(self):
|
||||||
from letsencrypt.crypto_util import pyopenssl_load_certificate
|
from letsencrypt.crypto_util import pyopenssl_load_certificate
|
||||||
|
|
||||||
@@ -230,5 +223,6 @@ class CertLoaderTest(unittest.TestCase):
|
|||||||
self.assertEqual(cert.digest('sha1'),
|
self.assertEqual(cert.digest('sha1'),
|
||||||
OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, CERT).digest('sha1'))
|
OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, CERT).digest('sha1'))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main() # pragma: no cover
|
unittest.main() # pragma: no cover
|
||||||
|
|||||||
Reference in New Issue
Block a user