sequoia rust 如何检查加密消息是否由 CA 签名

问题描述 投票:0回答:1

我在使用 sequoia crate 检查加密消息是否由 CA 签名时遇到一些问题。他们的文档没有谈论这样的事情。

rust pgp
1个回答
0
投票

与 TLS、CMS 和其他围绕 X.509 设计的协议不同,OpenPGP 没有任何固有的证书颁发机构概念。任何主键都可以对子键进行签名,任何具有适当键标志的键都可以对数据进行签名。

当然,您可以创建和使用证书颁发机构,过去甚至有公开信任的证书颁发机构(尽管我现在不知道有任何操作)。但是,来自证书颁发机构的签名看起来就像来自任何其他密钥的签名,并且您必须将签名密钥追溯到独立提供的某个信任根。

假设您有这样的信任根,您可以通过迭代数据包以查看是否有签名来解析签名。通常有一个一次性签名包允许一次性解析数据。从该数据包中提取指纹和其他数据并找到密钥后,您可以调用

verify_message
来验证数据。您想要传递的数据是 LiteralData 数据包。

© www.soinside.com 2019 - 2024. All rights reserved.