コード例 #1
0
ファイル: transactions.py プロジェクト: pckilgore/py-evm
def validate_transaction_signature(transaction):
    signature = encode_signature(
        v=transaction.v,
        r=transaction.r,
        s=transaction.s,
    )
    unsigned_transaction = transaction.as_unsigned_transaction()
    msg = rlp.encode(unsigned_transaction)
    try:
        public_key = ecdsa_recover(msg, signature)
    except BadSignature as e:
        raise ValidationError("Bad Signature: {0}".format(str(e)))
    if not ecdsa_verify(msg, signature, public_key):
        raise ValidationError("Invalid Signature")
コード例 #2
0
def test_signing_and_verifying_with_public_key():
    signature = ecdsa_sign(MSG, PRIVATE_KEY)
    assert ecdsa_verify(MSG, signature, PUBLIC_KEY)
コード例 #3
0
 def ecdsa_verify(self, msg, signature, public_key):
     return ecdsa_verify(msg, signature, public_key)