def jwk_to_pubkey(jwk):
if jwk['kty'] == 'oct':
return jwk_to_bytes(jwk['k'])
elif jwk['kty'] == 'EC':
numbers = ec.EllipticCurvePublicNumbers(jwk_to_uint(jwk['x']),
jwk_to_uint(jwk['y']),
jwk_to_curve(jwk['crv']))
return numbers.public_key(backend)
elif jwk['kty'] == 'RSA':
numbers = rsa.RSAPublicNumbers(jwk_to_uint(jwk['e']),
jwk_to_uint(jwk['n']))
return numbers.public_key(backend)
评论列表
文章目录