类型脚本的 Avow
TL; DR 数据
Avow创建了签名,篡改的不言自明的记录. 给它任何JSON证据;它 返回另一机器可以离线验证的收据.
这是 0.5.3 释放 @gainratio/avow它核实由
@edgeproc/avow 0.4.x 更年长的 0.5.0– 说吧 –0.5.2 错误的拒绝. 0.5.2
这是第一个在 @gainratio 范围; @edgeproc/avow 0.5.1 和老年居留
可安装但已贬值. 0.5.0 是第一个从这个仓库里建造的.
使用量
import {
generateSeedHex,
publicKeyHex,
signPayload,
verifySignature,
} from "@gainratio/avow";
const signingSeed = generateSeedHex();
const pinnedPublicKey = await publicKeyHex(signingSeed);
const receipt = await signPayload({ artifact: "sha256:abc" }, signingSeed);
await verifySignature(receipt, pinnedPublicKey);
举例来说,是在收据存在之前获得公用钥匙的。 在一个真正的核查者,
获取 pinnedPublicKey 通过信任的配置或分发而独立
频道 - 从未从 receipt.public_key。每一份发出的收据都有计划
avow.receipt/v1. 由 @edgeproc/avow 0.4.x 年长者没有
schema 键并仍在验证;a schema 在场的一定是
avow.receipt/v1。 。 。 .
核查证明有效载荷没有变化,由停靠者签字 键。 它不证明正确,新鲜, 时钟时间,或诚实 签名者.
不重复播放辩护:有效收件每次提交均以相同方式核实.
需要回放保护的呼叫者会签下他们自己的非曲直、观众和过期索偿
输入有效载荷,然后检查它们 verifySignature; 存储器的
docs/OPERATIONS.md ("回放保护为呼叫者所有") 有食谱.
签名种子是由呼叫者持有的未加密的十六进制. 此软件包从未读取密钥
文件,所以种子存储是集成应用程序的责任;没有
KMS/HSM接缝. Python 软件包的文件模式检查( P)avow.key_permissions_insecure, (中文(简体) ),
由下列人士提出: load_signing_key 对于组合键文件或其他可访问键文件)没有
TypeScript对应,因为没有TypeScript API从磁盘上装入密钥.