2

是否有工具和行业标准可以确保和验证补丁或系统更新的完整性。作为发布过程的一部分,有时我会向基于 ColdFusion/HTML/JS 的应用程序交付更新集。我的问题是我是否可以实际签署开箱即用的包或单个更新,然后在安装它们之前由 ColdFusion/应用程序服务器自动验证它们。

请注意,有时我需要对单个 JS 文件进行更新,有时需要对一组 ColdFusion、cfc/cfm 文件进行更新。

谢谢!

4

1 回答 1

1

对于完整性验证(不如代码签名强),我们使用jacksum

以下是我们如何使用它:

  • 我们使用 Ant 来创建发布,尽管因为 CF 不需要编译,所以这主要是复制和压缩文件的情况。
  • 在构建期间,我们调用 jacksum 来运行我们即将发布的代码,并将应用程序中每个文件的校验和写入单个文件。我们将该文件命名为 xyzchk,其中 xyz 是我们的版本号。
  • 生成的文件与其余代码一起提供。
  • 我们的应用程序中有一个屏幕,它获取 .chk 文件(根据它认为正在运行的版本)并读取它。然后它读取/校验应用程序并报告任何不一致。本质上,我们在 CF 中重新实现了一个简单版本的 jacksum。我们也可以调用 jacksum 来进行检查。

这不如拥有一个签名的代码包那么强大,但我们试图防止的是部分部署和损坏。我们不这样做是出于强烈的安全原因:校验和文件与代码位于同一驱动器上,因此,如果您可以更改其中一个,则可以更改另一个,尽管当有人能够编辑您的应用程序的源代码时,您有更大的问题。

如果您想采用这种方法,我可以挖掘出我们使用的 jacksum 设置和 CF 代码以在文件上运行相同的校验和。

于 2012-10-05T09:16:22.077 回答