in asfpy/crypto.py [0:0]
def verify_response(self, data: str):
"""Verifies the authenticity of a data blob. If signed by the private key,
returns the original data that was signed, otherwise None"""
try:
if "\n" not in data: # base64-encoded one-liner?
try:
data = base64.b64decode(data).decode('us-ascii')
except binascii.Error: # Not base64!
return None
signature, data_plus_nonce = data.split("\n", 1)
signature = base64.b64decode(signature)
except ValueError: # Bad token format or invalid base64 signature, FAILURE.
return
try:
_nonce, data_verified = data_plus_nonce.split("\n", 1)
self._pubkey.verify(signature, data_plus_nonce.encode("us-ascii"))
return data_verified
except cryptography.exceptions.InvalidSignature:
return