From 48962274f4516dec87774eee0e51d9fd302d8da5 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Thu, 28 Mar 2019 17:10:11 +0100 Subject: [PATCH] M2Crypto.EVP..lod_key_string expects .. a bytes object - go figure --- sfa/trust/certificate.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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 ## -- 2.43.0