我希望打包并分发一个zip文件,我想知道最好的方法,以确保zip的内容没有任何改变。
并非zip中的所有文件都是我的 - 有些将是第三方二进制文件,因此对文件进行数字签名只是部分解决方案。加密zip不是一种选择,因为秘密将是可发现的 - 它需要在目的地未加密。发布哈希是一个选项,但不是理想选项,因为需要单独的信息来验证zip(更不用说它不安全 - 如果有人可以拥有您的分发服务器,他们也可以更改发布的哈希)。
类似于ClickOnce软件包加密签名的方法是理想的(我可以使用代码签名证书)。我可以使用mage.exe生成zip中附带的任意清单(因此zip本身不必是安全的,更改/添加/删除文件会破坏加密签名)?如果是这样,我如何(以编程方式)验证目的地的签名?
答案 0 :(得分:1)
存在几种不同的方法。
PKWare提供SecureZIP应用程序,允许您使用PKWare APPNote中定义的格式(ZIP文件格式的标准参考)对ZIP文件进行签名。某些第三方应用程序和库可以验证此类签名。但是,只能使用SecureZIP进行签名(这是许可限制)。
您可以使用"open packaging convention"对ZIP存档的内容进行签名。
您可以使用ASiC格式,新的欧洲格式对ZIP文件中的数据进行签名。
我们的SecureBlackbox产品支持以上所有选项。不幸的是,我没有关于其他软件支持的信息。