【问题标题】:Cryptographically validating contents of zip file加密验证 zip 文件的内容
【发布时间】:2013-09-02 23:23:55
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# digital-signature signing


    【解决方案1】:

    存在几种不同的方法。

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

    2. 您可以使用"open packaging convention" 对 ZIP 存档的内容进行签名。

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

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

    【讨论】:

      猜你喜欢
      • 2018-05-16
      • 1970-01-01
      • 2011-03-11
      • 2012-06-19
      • 2010-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多