如何在 Python 中签名消息而不出错?

How to sign a message in Python without getting an error?

错误是:

TypeError:This is not a private key

我已经试过了:

def sign_transaction(self):
    private_key = RSA.importKey(binascii.unhexlify(self.sender_private_key))
    signer = PKCS1_v1_5.new(private_key)
    h = SHA.new(str(self.to_dict()).encode('utf8'))
    return binascii.hexlify(signer.sign(h)).decode('ascii')
def verify_transaction_signature(self, sender_address, signature, transaction):
    public_key = RSA.importKey(binascii.unhexlify(sender_address))
    verifier = PKCS1_v1_5.new(public_key)
    h = SHA.new(str(transaction).encode('utf8'))
    return verifier.verify(h, binascii.unhexlify(signature))

我正在使用 Python 3.8 .

我的问题出在我的数据库中,我正在将私钥发送到 public 密钥列。 所以我试图用 public 密钥而不是我的私钥来签署我的交易。