def verify(self):
keys = []
for sign in self.signatures:
sign_bytes = self.sign_bytes(sign.protected)
if sign.header.chain:
raise NotImplementedError()
elif sign.header.jwk:
public_key = sign.header.jwk
else:
raise JSONSignError("missing public key")
sig_bytes = util.jose_base64_url_decode(sign.signature)
try:
public_key.verify(six.StringIO(sign_bytes.decode()), sign.header.algorithm, sig_bytes)
except Exception as e:
raise e
keys.append(public_key)
return keys
评论列表
文章目录