如何打开已使用CAdES签名的文件?

时间:2013-10-15 11:55:29

标签: file digital-signature

我需要使用CAdES-A签名签署文档,并提供一个服务,向我提供。

现在,假设我签署了一个GIF文件。我从签名服务中得到的信息,如果我说得对,是一个包含原始文档,签名和时间戳的信封。

我的问题是,至少在我做的测试中,这不再是GIF文件,即我无法用图像查看器打开它并看到原始图像。

所以我的问题是:一旦我使用CAdES-A签署任意类型的文档,如何打开它以访问其原始内容?

请注意:我的问题不是验证签名或时间戳(这很好),它真的“看到”原始文档。 另外,我知道如何为PDF做事。这是困扰我的“任意格式”方面。

提前致谢。

2 个答案:

答案 0 :(得分:1)

正如您所注意到的,包装签名隐藏了原始数据格式,使数据“无法使用”。 验证签名的库或服务也应提供对原始数据的访问 - 只需重新检查其API即可。如果不可用,请使用其他API。

另一种方法是使用分离的签名 - 它们是分开存储和保存的,它们不会更改原始文件。如果您的代码都创建并验证签名,这将起作用(我认为大多数第三方会期望单个签名数据块而不是分离签名)。

答案 1 :(得分:0)

最后,我设法使用openssl:

将原始文件从信封中取出
openssl smime -verify -in x-click-but04.p7s -inform DER -signer certificate.cer -noverify -out x.gif

哪里

  • certificate.cer是用于签名的证书
  • x-click-but04.p7s是包络签名,包含签名+原始文件+ 时间戳
  • x.gif(输出文件)是从信封中提取的原始文件