一个(临时)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开源许可下授权的。 适用条款和条件。