From bfb4399a498a8a52244bff657ddbd3308a57fd48 Mon Sep 17 00:00:00 2001 From: Vladimir Diaz Date: Wed, 26 Aug 2015 11:46:46 -0400 Subject: [PATCH] Encode signatures in pycrypto_keys.py to match pyca_crypto_keys.py --- tuf/pycrypto_keys.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tuf/pycrypto_keys.py b/tuf/pycrypto_keys.py index a598995c..de5c37fe 100755 --- a/tuf/pycrypto_keys.py +++ b/tuf/pycrypto_keys.py @@ -291,7 +291,7 @@ def create_rsa_signature(private_key, data): # If the passphrase is incorrect, PyCrypto returns: "RSA key format is not # supported". try: - sha256_object = Crypto.Hash.SHA256.new(data) + sha256_object = Crypto.Hash.SHA256.new(data.encode('utf-8')) rsa_key_object = Crypto.PublicKey.RSA.importKey(private_key) except (ValueError, IndexError, TypeError) as e: @@ -390,7 +390,7 @@ def verify_rsa_signature(signature, signature_method, public_key, data): try: rsa_key_object = Crypto.PublicKey.RSA.importKey(public_key) pkcs1_pss_verifier = Crypto.Signature.PKCS1_PSS.new(rsa_key_object) - sha256_object = Crypto.Hash.SHA256.new(data) + sha256_object = Crypto.Hash.SHA256.new(data.encode('utf')) valid_signature = pkcs1_pss_verifier.verify(sha256_object, signature) except (ValueError, IndexError, TypeError) as e: @@ -590,7 +590,7 @@ def create_rsa_public_and_private_from_encrypted_pem(encrypted_pem, passphrase): except (ValueError): #pragma: no cover message = 'The public and private keys cannot be exported in PEM format.' raise tuf.CryptoError(message) - + return public.decode(), private.decode()