使用gpgsm验证文档签名

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

我需要验证文档确实是通过特定密钥加密的。我可以使用以下命令(在 Windows 上运行)对文件进行加密和签名(单独的命令)

> gpgsm -er mysignature --batch --yes --output readme.txt.encrypted readme.txt
gpgsm: encrypted data created

> gpgsm -s --batch --yes --output readme.txt.signed readme.txt
gpgsm: signature created

我可以使用以下方式解密文档:

gpgsm --decrypt readme.txt.encrypted

并使用

验证签名
gpgsm --verify readme.txt.signed

但是,如何确保文档由特定密钥加密?

提前致谢。

gnupg
1个回答
0
投票

我开始认为 gpgsm 不是一个好的解决方案。我正在探索完全使用 openssl,并遵循以下工作流程。主要问题是PKI不适合加密大型文档,因此加密使用aes256,但密钥使用PKI加密:

  • 使用 openssl 生成随机密钥
  • 用我的私钥签署原始文档
  • 使用 aes256 使用生成的随机密钥加密文件
  • 使用收件人公钥通过 pkeyutl 加密密钥
  • 将加密密钥、加密文件和签名发送给收件人

接收方

  • 使用接收者私钥解密密钥
  • 使用解密密钥解密文件
  • 根据发件人公钥和签名验证文档
© www.soinside.com 2019 - 2024. All rights reserved.