def _validate(self): if not self._signatures: return payload_str = self._payload for signature in self._signatures: bytes_to_verify = "{0}.{1}".format(signature["protected"], base64url_encode(payload_str)) signer = SIGNER_ALGS[signature["header"]["alg"]] key = keyrep(signature["header"]["jwk"]) gk = key.get_key() sig = base64url_decode(signature["signature"].encode("utf-8")) try: verified = signer.verify(bytes_to_verify, sig, gk) except BadSignature: raise InvalidSchema1Signature() if not verified: raise InvalidSchema1Signature()
def _validate(self): if not self._signatures: return payload_str = self._payload for signature in self._signatures: bytes_to_verify = '{0}.{1}'.format(signature['protected'], base64url_encode(payload_str)) signer = SIGNER_ALGS[signature['header']['alg']] key = keyrep(signature['header']['jwk']) gk = key.get_key() sig = base64url_decode(signature['signature'].encode('utf-8')) try: verified = signer.verify(bytes_to_verify, sig, gk) except BadSignature: raise InvalidSchema1Signature() if not verified: raise InvalidSchema1Signature()