From 2d9ca8bc57a35f41fbcecd278fb42f4114a227e1 Mon Sep 17 00:00:00 2001 From: GeekTan Date: Mon, 3 Jun 2019 18:45:22 +0800 Subject: [PATCH] Update sign_cryptography.py fix python3 read() return is utf-8 to ascii --- adb/sign_cryptography.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/adb/sign_cryptography.py b/adb/sign_cryptography.py index 31a9ef7..5034360 100644 --- a/adb/sign_cryptography.py +++ b/adb/sign_cryptography.py @@ -26,11 +26,20 @@ class CryptographySigner(adb_protocol.AuthSigner): def __init__(self, rsa_key_path): with open(rsa_key_path + '.pub') as rsa_pub_file: - self.public_key = rsa_pub_file.read() + rsa_data = rsa_pub_file.read() + if isinstance (rsa_data,str): + self.public_key = rsa_data + else: + self.public_key = rsa_data.encode('ascii') with open(rsa_key_path) as rsa_prv_file: - self.rsa_key = serialization.load_pem_private_key( - rsa_prv_file.read(), None, default_backend()) + rsa_data = rsa_prv_file.read() + if isinstance (rsa_data,str): + self.rsa_key = serialization.load_pem_private_key( + rsa_data, None, default_backend()) + else: + self.rsa_key = serialization.load_pem_private_key( + rsa_data.encode('ascii'), None, default_backend()) def Sign(self, data): return self.rsa_key.sign(