spring-boot - 检查spring boot生成的jar
问题描述
我想找到一种方法来确保当 spring boot 应用程序启动时,jar 是我编译的那个。目标是解决安全问题,我分发了一个应用程序,并且我想有一种方法来确保没有人修改它(在部署期间或在它开始之前)
最好的方法是什么?
解决方案
AFAIK,Spring Boot 本身并不能处理这个问题。
您可以生成 jar 的“哈希”(例如 sha1)。在构建过程中并将其存储在某个地方。在这一点上,您确定这是您的 jar,因为您现在就构建它,这将是事实的来源。
稍后,当您分发 jar 时,在启动它之前,您使用来自 bash 脚本或其他东西的相同算法重新生成 jar 的哈希,并与您在构建期间生成的哈希进行比较。如果它们相同 - 它是相同的 jar,否则它不会通过安全测试。
推荐阅读
- linux - 将自签名证书插入或更新到 Docker 容器中
- java - 声明新的枚举类型 php
- influxdb - 有没有办法自定义 Kapacitor 警报的阈值?
- java - (JAVA) Dynamics jasper 报表 - 页面上的两个子报表
- azure - 将 Azure Pipeline 条件/变量转换为 json 布尔值
- yaml - 如何在 OpenAPI3-YAML 规范中编写 BOM 字符
- javascript - 如何正确编码要在 JavaScript 中解码并在不同 div 中使用的 sql 搜索结果
- ios - 更改 HighCharts Swift iOS 的绘图区域颜色
- python - 正则表达式查找确切的核苷酸序列
- flutter - 从网络中获取数据并在轮播滑块中显示图像