in kinto-remote-settings/src/kinto_remote_settings/signer/backends/local_ecdsa.py [0:0]
def verify(self, payload, signature_bundle):
if isinstance(payload, str): # pragma: no cover
payload = payload.encode("utf-8")
payload = SIGN_PREFIX + payload
signature = signature_bundle["signature"]
if isinstance(signature, str): # pragma: no cover
signature = signature.encode("utf-8")
signature_bytes = base64.urlsafe_b64decode(signature)
public_key = self.load_public_key()
try:
public_key.verify(
signature_bytes,
payload,
hashfunc=hashlib.sha384,
sigdecode=ecdsa.util.sigdecode_string,
)
except Exception as e:
raise BadSignatureError(e)