【问题标题】:Code Signing a ColdFusion-based Web Application对基于 ColdFusion 的 Web 应用程序进行代码签名
【发布时间】:2012-10-04 21:03:08
【问题描述】:

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

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

谢谢!

【问题讨论】:

  • 如果您在内部部署并且您的公司使用 SVN 进行存储库管理,您可以使用它进行代码签名。对不起,我不能给你链接;但谷歌搜索显示有一个插件可以使用。不过,您可能需要进行一些挖掘才能弄清楚。我以前从来没有这样做过。

标签: javascript html coldfusion code-signing


【解决方案1】:

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

我们是这样使用它的:

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

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

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

【讨论】:

  • 巴尼,谢谢你的回答!您的解决方案很优雅。出于我的目的,我只需要使用私钥加密 chk 文件。如果您有时间,如果您可以分享或提供如何通过 CF 与 Jacksum 交互的提示,这对每个人来说都很棒。
猜你喜欢
  • 2021-11-20
  • 1970-01-01
  • 1970-01-01
  • 2018-06-26
  • 2016-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多