PyJWT的RSA辅助工具
项目描述
为JWT令牌提供RSA辅助工具。
>>> from jwt_rsa.token import JWT
>>> from jwt_rsa.rsa import generate_rsa
>>>
>>> bits = 2048
>>>
>>> private_key, public_key = generate_rsa(bits)
>>>
>>> jwt = JWT(private_key, public_key)
>>>
>>> token = jwt.encode(foo='bar')
>>> result = jwt.decode(token)
>>> result
{'foo': 'bar', 'exp': 1525941819.638339, 'nbf': 1523349799.638342}
>>> # Expired token
>>> token = jwt.encode(foo='bar', expired=-1)
>>> jwt.decode(token)
Traceback (most recent call last):
...
jwt.exceptions.ExpiredSignatureError: Signature has expired
>>> # No verify token signature and expiration
>>> jwt.decode(token, verify=False)
{'foo': 'bar', 'exp': -1, 'nbf': 1523350046.935803}
命令行实用工具
模块提供以下实用工具
jwt-rsa-keygen
创建新的密钥对
$ jwt-rsa-keygen -h ±8 ?3 master
usage: jwt-rsa-keygen [-h] [-b BITS] [-P]
optional arguments:
-h, --help show this help message and exit
-b BITS, --bits BITS
-P, --pem
默认情况下,此实用工具返回JSON序列化的密钥对
$ jwt-rsa-keygen ±8 ?3 master
{
"private": "MIIEvgIBADANBg......h3MBsSzx",
"public": "MIIBCgKCAQEAxUU......5niBEjAB"
}
添加参数 -P 以返回PEM格式
$ jwt-rsa-keygen -P ±8 ?3 master
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDDeiI5V/O/Mbff
...
LGQgWf5ch0t1+Rh3tjIuuSc=
-----END PRIVATE KEY-----
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEAw3oiOVfzvzG331nAL5hGHbblcCaV3pbfoCiFRgwpNPf7snIJtw97
...
3k2mMT1z6NFO6e6LMxg2zrqs3zgqwx5/9wIDAQAB
-----END RSA PUBLIC KEY-----
jwt-rsa-verify
验证JSON序列化的密钥对
$ jwt-rsa-keygen | jwt-rsa-verify ±8 ?3 master
INFO:root:Awaiting JSON on stdin...
INFO:root:Signing OK
INFO:root:Verifying OK
或当密钥对无效或与密钥不匹配时失败
$ jwt-rsa-keygen | sed 's/M/j/' | jwt-rsa-verify ±8 ?3 master
INFO:root:Awaiting JSON on stdin...
Traceback (most recent call last):
...
ValueError: Could not deserialize key data.
项目详情
下载文件
下载适合您的平台文件。如果您不确定要选择哪个,请了解更多关于 安装软件包 的信息。
源分布
pyjwt-rsa-0.4.0.tar.gz (6.0 kB 查看哈希值)
构建分布
pyjwt_rsa-0.4.0-py3-none-any.whl (7.1 kB 查看哈希值)
关闭
pyjwt-rsa-0.4.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ade6db7abc63a08aa0693546ec9a4873c6251576cefbeaa76383a23639fcdd58 |
|
MD5 | 7c1cf94d122fa17337e4b6920d8cf832 |
|
BLAKE2b-256 | a16f22b0f803f0e4e93e682d097cfa74f303ce97127a57766d5d6b47b0b1a6fc |
关闭
pyjwt_rsa-0.4.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5a33eb2034b52682415398cc25931b3e10dbca311264eac77527d84b72803a81 |
|
MD5 | d010b34f5d193742789d9f160001ecda |
|
BLAKE2b-256 | fdcdf5e4f41e98624bcf5545d44a148b8c7f590704b95df188bb50ea15c74b2a |