需求背景

你有没有发现,从Maven仓库下载文件的时候,除了我们需要的jar包之外,还有个.asc文件,这个文件就是jar包的数字签名,咱可以通过这个数字签名来验证jar包是否确实是Oracle官方发布的包:

对于我们的客户,生产环境上运行的程序,有些是从公司 gitlab-ci 上编译出来的,有些是开发者个人电脑上编译出来的,还有的是客户自己改代码后编译出来的,程序出问题后,到底是谁的责任呢?比如,executor-proxy-provider.jar 可以直接接触到客户生产环境的数据,万一这个文件被人恶意篡改,把客户数据删掉了,咋整…
所以,咱也需要将公司对外的jar包做个签名,客户拿到jar包后,可以根据签名文件来确认是不是官方的包。
GPG签名原理
参考下这个链接:https://www.ruanyifeng.com/blog/2013/07/gpg.html
大体流程是:
- 使用GPG生成一对密钥,公钥和私钥
- 使用私钥对文件进行签名,并生成签名文件
- 将文件、该文件对应的签名文件 以及 公钥,同时对外公布
- 用户使用公钥和签名文件,对该文件进行签名验证
Maven使用GPG签名
参考下官方链接:https://maven.apache.org/plugins/maven-gpg-plugin/usage.html
大

本文介绍了在软件发布中采用GPG签名以验证软件包完整性的必要性,详细阐述了GPG签名原理和Maven的使用方法。通过在Gitlab-CI中配置GPG签名,确保生产环境中发布的jar包安全可靠,客户可以通过验证公钥和签名文件确认软件来源。
最低0.47元/天 解锁文章
5747

被折叠的 条评论
为什么被折叠?



