我们希望实施一个工作流程,要求多人对数据进行数字签名。如果我在自己的钥匙串中有多个密钥,我可以做一些简单的事情:

gpg --sign -u userid1 -u userid2 filename

但是,如果我已经签署了一份文件并且我想添加签名,该怎么办?一种解决方案是让每个人为文档生成分离的签名,然后将它们全部打包在一个zip文件或其他东西中,但是那里的开销要高得多。还有更好的方法吗?

有帮助吗?

解决方案

无需压缩它们:您可以简单地在单个文件中连接分离的签名,并且所有签名都会一个接一个地进行验证。

% gpg -b -u $ID1 -o prova.c.sig1 prova.c
% gpg -b -u $ID2 -o prova.c.sig2 prova.c
% cat prova.c.sig1 prova.c.sig2 >prova.c.sig
% gpg prova.c.sig
gpg: Signature made Mar  1 Set 18:16:09 2009 CEST using RSA key ID $ID1
gpg: Good signature from "Lapo Luchini <lapo@lapo.it>"
gpg: Signature made Mar  1 Set 18:16:25 2009 CEST using RSA key ID $ID2
gpg: Good signature from "Lapo Luchini <lapo@lapo.it>"

我已经证实这对于ASCII装甲文件也很有用,在这种情况下输出文件大小是次优的,因为每个签名都重复标题,并且最好先连接二进制签名和它们的ASCII - 装备整件事。

我不太了解OpenPGP格式,但我想你可能还有一个软件,给定一个文件和一些分离的签名,使用从所有这些文件中提取的签名包创建一个附加签名虽然这需要更多的时间来实现(如果可能的话:可能有附加和分离签名的不同数据包,另一个不能转换,但我敢打赌数据包只有一种类型)。 / p>

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top