Пример #1
0
def sign(privkey, data):
    if not ecdsa:
        raise custom_exceptions.SigningNotAvailableException("ecdsa not installed")

    hash = hashlib.sha256(data).digest()
    signature = privkey.sign_digest(hash, sigencode=ecdsa.util.sigencode_der)
    return base64.b64encode(signature)
Пример #2
0
def generate_keypair():
    if not ecdsa:
        raise custom_exceptions.SigningNotAvailableException("ecdsa not installed")
    
    private_key = ecdsa.SigningKey.generate(curve=SECP256k1)
    public_key = private_key.get_verifying_key()
    return (private_key, public_key)
Пример #3
0
def verify(pubkey, signature, data):
    if not ecdsa:
        raise custom_exceptions.SigningNotAvailableException("ecdsa not installed")

    hash = hashlib.sha256(data).digest()
    sign = base64.b64decode(signature)
    try:
        return pubkey.verify_digest(sign, hash, sigdecode=ecdsa.util.sigdecode_der)
    except:
        return False