15个版本
0.0.15 | 2024年4月12日 |
---|---|
0.0.14 | 2024年3月14日 |
0.0.8 | 2024年2月29日 |
#1091 in 加密学
每月 70次下载
155KB
3K SLoC
httpsig-hyper
示例
您可以在./examples中运行基本示例,如下所示。
签名并验证请求
% cargo run --example hyper-request
签名并验证响应
% cargo run --example hyper-response
注意事项
请注意,即使将“content-digest”头指定为签名中覆盖的组件之一,httpsig-hyper的验证过程也不会自动验证消息正文。也就是说,它只检查签名和消息组件之间的一致性。
如果您需要在“content-digest”包含在“signature-input”头中时验证给定消息的正文,您需要按照如下方式调用verify_content_digest()
函数。
// first verifies the signature according to `signature-input` header
let public_key = PublicKey::from_pem(EDDSA_PUBLIC_KEY).unwrap();
let signature_verification = req.verify_message_signature(&public_key, None).await;
assert!(verification_res.is_ok());
// if needed, content-digest can be verified separately (only if content-digest header is included in the header)
let verified_request = request_from_sender.verify_content_digest().await;
assert!(verified_request.is_ok())
在加密学的背景下,签名输入中覆盖的“content-digest”在签名验证过程中得到验证。因此,验证“content-digest”的哈希值。为了检查“content-digest”是否正确与消息正文绑定,我们需要单独运行哈希过程。
依赖项
~9.5MB
~175K SLoC