From: Thierry Parmentelat Date: Thu, 28 Mar 2019 16:10:11 +0000 (+0100) Subject: M2Crypto.EVP..lod_key_string expects .. a bytes object - go figure X-Git-Url: http://git.onelab.eu/?p=sfa.git;a=commitdiff_plain;h=48962274f4516dec87774eee0e51d9fd302d8da5 M2Crypto.EVP..lod_key_string expects .. a bytes object - go figure --- diff --git a/sfa/trust/certificate.py b/sfa/trust/certificate.py index cdad52ab..651bbc64 100644 --- a/sfa/trust/certificate.py +++ b/sfa/trust/certificate.py @@ -206,12 +206,13 @@ class Keypair: OpenSSL.crypto.FILETYPE_PEM, string, functools.partial(glo_passphrase_callback, self, string)) self.m2key = M2Crypto.EVP.load_key_string( - string, functools.partial(glo_passphrase_callback, - self, string)) + string.encode(encoding="utf-8"), + functools.partial(glo_passphrase_callback, self, string)) else: self.key = OpenSSL.crypto.load_privatekey( OpenSSL.crypto.FILETYPE_PEM, string) - self.m2key = M2Crypto.EVP.load_key_string(string) + self.m2key = M2Crypto.EVP.load_key_string( + string.encode(encoding="utf-8")) ## # Load the public key from a string. No private key is loaded. @@ -274,7 +275,8 @@ class Keypair: def get_m2_pubkey(self): import M2Crypto if not self.m2key: - self.m2key = M2Crypto.EVP.load_key_string(self.as_pem()) + self.m2key = M2Crypto.EVP.load_key_string( + self.as_pem().encode(encoding="utf-8")) return self.m2key ##