jose.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:concorde 作者: frutiger 项目源码 文件源码
def pubkey_to_jwk(pubkey):
    if isinstance(pubkey, bytes):
        return {
            'kty': 'oct',
            'k': bytes_to_jwk(pubkey),
        }

    if isinstance(pubkey, ec.EllipticCurvePublicKey):
        numbers = pubkey.public_numbers()
        return {
            'kty': 'EC',
            'crv': curve_to_jwk(pubkey.curve.name),
            'x':   uint_to_jwk(numbers.x),
            'y':   uint_to_jwk(numbers.y),
        }

    if isinstance(pubkey, rsa.RSAPublicKey):
        numbers = pubkey.public_numbers()
        return {
            'kty': 'RSA',
            'n':   uint_to_jwk(numbers.n),
            'e':   uint_to_jwk(numbers.e),
        }

    raise ValueError('Unsupported public key: ' + str(type(pubkey)))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号