我想找到一种方法来确保当spring启动应用程序时,jar就是我编译的那个。目标是解决安全问题,我分发了一个应用程序,我想有一种方法来确保没有人修改它(在部署期间,或在它启动之前(
最好的方法是什么?
AFAIK,Spring引导本身无法处理此问题。
您可以生成一个";hash";罐子(例如sha1(。在构建过程中,将其存储在某个位置。在这一点上,你确信这是你的罐子,因为你现在就建造它,这将是真相的来源。
稍后,当您分发jar时,在启动它之前,您使用bash脚本或其他内容中的相同算法重新生成jar的哈希,并与构建过程中生成的哈希进行比较。如果它们是一样的,那就是同一个罐子,否则它就无法通过安全测试。