From 915e3b43952aa7bad3b861bf4e01feeb8ab882c4 Mon Sep 17 00:00:00 2001 From: Loic Baron Date: Thu, 19 May 2016 11:17:47 +0200 Subject: [PATCH] Python3 compatibility for Credential & Certificate in save_to_string & save_to_file (bytes to string) --- sfa/trust/certificate.py | 4 ++++ sfa/trust/credential.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/sfa/trust/certificate.py b/sfa/trust/certificate.py index 7fe977ff..57829109 100644 --- a/sfa/trust/certificate.py +++ b/sfa/trust/certificate.py @@ -432,6 +432,8 @@ class Certificate: logger.warn("None cert in certificate.save_to_string") return "" string = OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, self.x509) + if isinstance(string, bytes): + string = string.decode() if save_parents and self.parent: string = string + self.parent.save_to_string(save_parents) return string @@ -446,6 +448,8 @@ class Certificate: f = filep else: f = open(filename, 'w') + if isinstance(string, bytes): + string = string.decode() f.write(string) f.close() self.filename = filename diff --git a/sfa/trust/credential.py b/sfa/trust/credential.py index ee3f7325..0aa61621 100644 --- a/sfa/trust/credential.py +++ b/sfa/trust/credential.py @@ -579,12 +579,16 @@ class Credential(object): f = filep else: f = open(filename, "w") + if isinstance(self.xml, bytes): + self.xml = self.xml.decode() f.write(self.xml) f.close() def save_to_string(self, save_parents=True): if not self.xml: self.encode() + if isinstance(self.xml, bytes): + self.xml = self.xml.decode() return self.xml def get_refid(self): -- 2.43.0