gpt4 book ai didi

java - 为什么 JarFile 不验证签名者?

转载 作者:行者123 更新时间:2023-11-30 09:48:16 28 4
gpt4 key购买 nike

使用 JarFile 类,我可以验证 jar 文件是否已签名。但是,根据我对 API 文档和 jarsigner 文档的阅读,我没有看到验证签名者的方法。换句话说,我可以验证 jar 自签名后没有被修改,但似乎任何人都可以使用任何 key 对它进行签名。

如果攻击者修改了jar,然后用自己的 key 签名,验证不就通过了吗?

这似乎是从文档中排除的基本原则 - 所以我怀疑我在某处遗漏了一些背景知识。我错过了什么?

最佳答案

如果您信任签名者,您所做的就是验证 jar 没有被更改您没有看到。该步骤要求您检查证书。查看 jarsigner page 上的使用证书信息验证部分.

jarsigner -keystore /working/mystore -verify -verbose -certs myTest.jar

这应该验证 jar 并根据您在 keystore 中的受信任证书检查/验证签名者证书链。

Web 浏览器通过查看 JRE 附带的 lib/security 文件夹中的 cacerts 文件自动执行此操作,该文件存储了众所周知和受信任的 CA 列表。

关于java - 为什么 JarFile 不验证签名者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6331687/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com