为什么Openssl的签名验证需要原始文件来验证其签名?

Why the Openssl signature verification needs the original file to verify its signature?

我使用以下命令签署了一个加密文件 (org-enc-file.txt):

# openssl dgst -sha1 -sign priv.pem org-enc-file.txt > file.txt.sig

签名文件被发送到系统 B,系统 B 具有所有(public 密钥)元素来验证和解密文件(file.txt.sig)。

在外部系统中我使用了这个命令:

openssl dgst -sha1 -verify public.pem -signature file.txt.sig org-enc-file.txt

表示只有将原始加密文件(org-enc-file.txt)作为命令的最后一个参数才能验证成功。 为什么命令 openssl dgst -sha1 -verify 需要原始文件,是否总是强制发送带有签名文件的原始文件?

你用命令创建的签名

# openssl dgst -sha1 -sign priv.pem org-enc-file.txt > file.txt.sig

包含签名,您签名的原始文件的内容。所以在验证签名的时候,还需要原文件。