From 028d13d74b87d54fb1ef88bf6aa9764d0bc267a1 Mon Sep 17 00:00:00 2001 From: Thierry Carrez Date: Wed, 13 Jan 2021 14:59:53 +0100 Subject: [PATCH] Remove warning about deprecated signer function Use of signer/verifier functions has been deprecated since cryptography 2.0, and a deprecation warning is shown on every use of the 'refstack-client sign' command. Remove that warning by using the sign function instead of the signer function, as described in: https: //github.com/pyca/cryptography/blob/1.9/docs/hazmat/primitives/asymmetric/rsa.rst#signing Change-Id: Id9d5ed33b601771cd75df421a15ed2894fcd4d92 --- refstack_client/refstack_client.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/refstack_client/refstack_client.py b/refstack_client/refstack_client.py index 8e0f9f2..3f94203 100755 --- a/refstack_client/refstack_client.py +++ b/refstack_client/refstack_client.py @@ -410,14 +410,16 @@ class RefstackClient: private_key_file) self.logger.exception(e) return - signer = private_key.signer(padding.PKCS1v15(), hashes.SHA256()) - signer.update(data.encode('utf-8')) - signature = binascii.b2a_hex(signer.finalize()) + signature = private_key.sign( + data.encode('utf-8'), + padding.PKCS1v15(), + hashes.SHA256() + ) pubkey = private_key.public_key().public_bytes( serialization.Encoding.OpenSSH, serialization.PublicFormat.OpenSSH) - headers['X-Signature'] = signature + headers['X-Signature'] = binascii.b2a_hex(signature) headers['X-Public-Key'] = pubkey try: response = requests.post(endpoint, @@ -709,10 +711,12 @@ class RefstackClient: serialization.Encoding.OpenSSH, serialization.PublicFormat.OpenSSH) - signer = private_key.signer(padding.PKCS1v15(), hashes.SHA256()) - signer.update('signature'.encode('utf-8')) - signature = binascii.b2a_hex(signer.finalize()) - return pub_key, signature + signature = private_key.sign( + 'signature'.encode('utf-8'), + padding.PKCS1v15(), + hashes.SHA256() + ) + return pub_key, binascii.b2a_hex(signature) def self_sign(self): """Generate signature for public key."""