Fix x509 cert generation python3 compability

Bytes should be correctly coverted to string.

Partially-Implements: blueprint magnum-python3

Change-Id: I9baa76f890fded8ae215f7c3d77fc294506df79e
This commit is contained in:
Yang Hongyang 2016-02-27 20:53:05 +08:00
parent fb1a81bd0f
commit eb92644a8a
2 changed files with 4 additions and 4 deletions

View File

@ -103,7 +103,7 @@ def _generate_certificate(issuer_name, subject_name, extensions, ca_key=None,
encryption_password=None, ca_key_password=None):
if not isinstance(subject_name, six.text_type):
subject_name = six.u(subject_name)
subject_name = six.text_type(subject_name.decode('utf-8'))
private_key = rsa.generate_private_key(
public_exponent=65537,
@ -169,7 +169,7 @@ def sign(csr, issuer_name, ca_key, ca_key_password=None,
backend=default_backend())
if not isinstance(issuer_name, six.text_type):
issuer_name = six.u(issuer_name)
issuer_name = six.text_type(issuer_name.decode('utf-8'))
if isinstance(csr, six.text_type):
csr = six.b(str(csr))

View File

@ -127,7 +127,7 @@ class TestX509(base.BaseTestCase):
issuer_name = six.b("bytes-issuer-name")
cert, _ = self._generate_ca_certificate(issuer_name)
issuer_name = six.u(issuer_name)
issuer_name = issuer_name.decode('utf-8')
self.assertHasSubjectName(cert, issuer_name)
self.assertHasIssuerName(cert, issuer_name)
@ -190,7 +190,7 @@ class TestX509(base.BaseTestCase):
private_key = self._generate_private_key()
csr_obj = self._build_csr(private_key)
csr = csr_obj.public_bytes(serialization.Encoding.PEM)
csr = six.u(csr)
csr = six.text_type(csr.decode('utf-8'))
mock_load_pem.return_value = csr_obj
operations.sign(csr, self.issuer_name, ca_key,