跳转到主要内容

使用Ed25519签名签JSON

项目描述

Latest Version https://img.shields.io/travis/matrix-org/python-signedjson.svg

使用ED25519签名对JSON对象进行签名。

特性

  • 多个实体可以签同一个对象。

  • 每个实体可以使用多个密钥签同一个对象,便于密钥轮换。

  • 可以将ED25519替换为不同的算法。

  • 可以在对象下添加未受保护的“unsigned”键。

安装

pip install signedjson

使用

from signedjson.key import generate_signing_key, get_verify_key
from signedjson.sign import (
    sign_json, verify_signed_json, SignatureVerifyException
)

signing_key = generate_signing_key('zxcvb')
signed_json = sign_json({'my_key': 'my_data'}, 'Alice', signing_key)

verify_key = get_verify_key(signing_key)

try:
    verify_signed_json(signed_json, 'Alice', verify_key)
    print 'Signature is valid'
except SignatureVerifyException:
    print 'Signature is invalid'

格式

{
    "<protected_name>": "<protected_value>",
    "signatures": {
        "<entity_name>": {
            "ed25519:<key_id>": "<unpadded_base64_signature>"
        }
    },
    "unsigned": {
        "<unprotected_name>": "<unprotected_value>",
    }
}

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

signedjson-1.1.4.tar.gz (13.6 kB 查看哈希值)

上传时间

构建分布

signedjson-1.1.4-py3-none-any.whl (10.7 kB 查看哈希值)

上传时间 Python 3

由以下支持