用ed25519签名签名json
signedjson的Python项目详细描述
使用ed25519签名签名json对象。
功能
- 多个实体可以对同一对象进行签名。
- 每个实体都可以使用多个键对对象进行签名,从而使 旋转键
- ED25519可以用不同的算法替换。
- 可以将未受保护的数据添加到"unsigned"键下的对象中。
安装
pip install signedjson
使用
fromsignedjson.keyimportgenerate_signing_key,get_verify_keyfromsignedjson.signimport(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'exceptSignatureVerifyException:print'Signature is invalid'
格式
{"<protected_name>":"<protected_value>","signatures":{"<entity_name>":{"ed25519:<key_id>":"<unpadded_base64_signature>"}},"unsigned":{"<unprotected_name>":"<unprotected_value>",}}