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:
parent
fb1a81bd0f
commit
eb92644a8a
|
@ -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))
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue