一个(临时)Jose库,支持Pykauriid所需的ED25519、X25519、Chacha20/Poly1305和AES256-GCM

sspyjose的Python项目详细描述


单一源Pyjose库

一个(临时)Jose库,支持ED25519、X25519, Pykauriid所需的Chacha20/Poly1305和AES256-GCM。

安装

要安装,请使用pip:

$ pip install sspyjose

或者克隆回购协议:

$ git clone https://gitlab.com/kauriid/sspyjose.git
$ python setup.py install

为Python3设置并激活:

virtualenv ${HOME}/.virtualenvs/sspyjose \
           --system-site-packages --python=/usr/bin/python3
source ${HOME}/.virtualenvs/sspyjose/bin/activate

安装所需的软件包:

pip install -e .

用于安装附加的开发、测试或文档 依赖项,使用以下一个或多个命令添加限定符:

pip install -e .[dev]       # Development dependencies
pip install -e .[test]      # Testing dependencies
pip install -e .[dev,test]  # All dependencies together

用法

签署JWS

from sspyjose.jwk import Ed25519Jwk
from sspyjose.jws import Ed25519Jws

# Make a signing key object from a JWK as a JSON string.
# The JWK must contain the private key seed.
jwk = Ed25519Jwk(from_json=jwk_string)
# If the JWK is already parsed to a Python dictionary, use this:
# jwk = Ed25519Jwk(from_dict=jwk_dict)

# Make a JWS signing object.
signer = Ed25519Jws(jwk=jwk)

# Assign the content to authenticate.
signer.payload = {'answer': 42}

# Sign it, and get the content in a compact serialisation format
# (`jws` is a string).
signer.sign()
jws = jws.serialise()

验证jws

from sspyjose.jwk import Ed25519Jwk
from sspyjose.jws import Ed25519Jws

# Make a signing key object from a JWK as a JSON string.
# The JWK only needs to contain the public key.
jwk = Ed25519Jwk(from_json=jwk_string)
# If the JWK is already parsed to a Python dictionary, use this:
# jwk = Ed25519Jwk(from_dict=jwk_dict)

# Make a JWS verifier object.
verifier = Ed25519Jws(jwk=jwk)

# Load the signed JWS as a compact form string.
verifier.load_compact(jws)

# Verify it, and get the payload.
verifier.verify()
print(verifier.payload)

贡献

待定

示例

待定

许可证

新西兰奥克兰SingleSource有限公司2018年版权所有

这项工作是在Apache 2.0开源许可下授权的。 适用条款和条件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓中的java标签长点击问题   JavaSpringMVC多行表单提交提交新的ModelAttribute   程序来查找java程序中的方法数   在JSF中自动选择java下拉列表   java onNext为ArrayList的每个元素触发,而不是使用RXJava触发一次   为什么java不允许创建内部类的实例?   JavaJSF<p:calendar>小部件在选择不同月份时不会刷新   java如何限制JFileChooser只允许选择特定数量的文件?   java ANT build无法识别geckodriver可执行文件“驱动程序可执行文件不存在”   java TextView空指针异常   java试图在安卓中传递参数   如何将XML配置转换为Java   java支持使用JAXRPC的soap服务,但pom中没有定义它。xml   在Java中检查整个ArrayList