2015-11-07 102 views
0

我签署使用下面的命令的加密文件(ORG-ENC-file.txt的):为什么Openssl签名验证需要原始文件来验证其签名?

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

签名的文件被发送到具有所有(公共密钥)的元素,以验证一个系统B和解密文件(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需要原始文件,是否始终强制使用签名文件发送原始文件?

+1

“签名文件”和原始文件有多大?无论如何,堆栈溢出不是一个问非编程相关问题的地方。 –

+0

谢谢,每个人的大小是512个八位字节 –

+0

Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[密码学堆栈交换](http://crypto.stackexchange.com/)或[信息安全堆栈交换](http://security.stackexchange.com/)将是一个更好的地方要问。 (同时搜索带有附录(SSA)和概率签名方案和恢复(PSSR)的签名方案)。 – jww

回答

1

你用命令

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

只有创建的签名包含签名,与你签订的原始文件的内容。因此,在验证签名时,您还需要原始文件。

+0

您的回答回答了我的问题。有没有办法将签名包含在加密文件中,而不会发送这两个文件? –