首页 > 解决方案 > 检查spring boot生成的jar

问题描述

我想找到一种方法来确保当 spring boot 应用程序启动时,jar 是我编译的那个。目标是解决安全问题,我分发了一个应用程序,并且我想有一种方法来确保没有人修改它(在部署期间或在它开始之前)

最好的方法是什么?

标签: spring-bootsecurity

解决方案


AFAIK,Spring Boot 本身并不能处理这个问题。

您可以生成 jar 的“哈希”(例如 sha1)。在构建过程中并将其存储在某个地方。在这一点上,您确定这是您的 jar,因为您现在就构建它,这将是事实的来源。

稍后,当您分发 jar 时,在启动它之前,您使用来自 bash 脚本或其他东西的相同算法重新生成 jar 的哈希,并与您在构建期间生成的哈希进行比较。如果它们相同 - 它是相同的 jar,否则它不会通过安全测试。


推荐阅读