digital-signature - 使用 S/MIME 或 PGP - 单个附件是否经过哈希处理/签名?

标签 digital-signature pgp smime

我刚刚讨论了 S/MIME 和 PGP 的完整性。我想知道不同的部分(例如附件和正文)是否单独签名/散列/指纹,还是仅应用于生成的容器?我检查了一些 RFC 和网站,看起来哈希/签名仅适用于整个消息,对吗?

例如:如果从 smime.p7m 文件中提取多个附件之一,是否检查该特定文件的完整性(例如哈希码),或者签名和哈希值是否仅覆盖完整的消息?

这对于 S/MIME 和 PGP 有什么不同吗?

最后,是否有一个很好的资源(除了冗长的 RFC)可以展示这一点?

谢谢!

最佳答案

S/MIME 和 PGP(PGP/MIME 以及内联 PGP)规范不会强制您签署或不签署哪些 MIME 部分,也不会强制您签署顶级 MIME 部分或各个部分。

这一切都由邮件客户端来决定。

一般来说,根据我在野外看到的情况,支持 S/MIME 的邮件客户端倾向于签署顶级 MIME 部分,这意味着所有附件以及邮件正文都一起签名。

PGP/MIME 的使用方式非常相似。

对于使用内联 PGP 的客户端,他们会单独签署内容,通常只签署邮件正文本身,而不签署任何附件(尽管也有一些这样做 - 我想 The Bat! 会浮现在脑海中吗?)

关于digital-signature - 使用 S/MIME 或 PGP - 单个附件是否经过哈希处理/签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53541377/

相关文章:

Java SHA1WithRSA 使用 openssl 命令行

php - 在 PHP 中使用 PGP 加密文件?

pgp - 如何将(二进制).key PGP 文件转换为 ASCII 装甲文件?

encryption - 如何使用GnuPG和GNU并行进行大文件并行加密?

java - 为什么我的 key 标识符不匹配?

openssl - 无法生成 Apple Passbook 签名

digital-signature - GPG 仍然看到了良好的迹象,撤销的子 key 仍然有效

javascript - 确保 JavaScript 未被篡改

java - 给定公共(public)指数和模数的 RSA 签名验证

certificate - certutil:函数失败:SEC_ERROR_LEGACY_DATABASE:证书/ key 数据库采用旧的、不受支持的格式