0

我正在寻找打包和分发一个 zip 文件,我想知道确保 zip 的内容没有以任何方式更改的最佳方法。

并非 zip 中的所有文件都是我的 - 有些是第三方二进制文件,因此对文件进行数字签名只是部分解决方案。加密 zip 不是一种选择,因为秘密会被发现 - 它需要在其目的地未加密。发布散列是一种选择,但不是理想的选择,因为需要单独的信息来验证 zip(更不用说它不安全 - 如果有人可以拥有您的分发服务器,他们也可以更改已发布的散列)。

一种类似于 ClickOnce 包加密签名的方法是理想的(我有一个可以用于此的代码签名证书)。我可以使用 mage.exe 生成一个在 zip 中附带的任意清单(因此 zip 本身不必是安全的,并且更改/添加/删除文件会破坏加密签名)?如果是这样,我如何(以编程方式)验证目的地的签名?

4

1 回答 1

1

存在几种不同的方法。

  1. PKWare 提供 SecureZIP 应用程序,可让您使用 PKWare 的 APPNote(ZIP 文件格式的规范参考)中定义的格式对 ZIP 文件进行签名。一些第三方应用程序和库可以验证此类签名。但是,只能使用 SecureZIP 进行签名(这是一个许可限制)。

  2. 您可以使用“开放式包装约定”来签署 ZIP 档案的内容。

  3. 您可以使用ASiC格式(新的欧洲格式)对 ZIP 文件中的数据进行签名。

我们的 SecureBlackbox 产品支持上述所有选项。不幸的是,我没有其他软件支持他们的信息。

于 2013-09-02T12:04:08.253 回答