使用 java - 如何从 jar 中读取代码 signing/cert 信息

using java - How to read code signing/cert information from jar

我正在寻找一种方法来读取 JAR 文件中的代码 signing/certificate 信息。

其实我很想知道罐子的事:

我正在考虑通过 Java 将 jarsigner 调用为 exec 并解析其命令行输出以检索此信息,但现在开始后看起来很糟糕。

还有其他方法可以获取这些信息吗?

我知道可以通过我在这里看到的一些方法来完成验证,但是我想要获得的信息呢?

您可以尝试使用Jar包来读取manifest文件。 https://docs.oracle.com/javase/7/docs/api/java/util/jar/package-summary.html

Oracle 文档中有如何验证文件是否被篡改的信息 https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Signature_Validation

我不确定如何检查证书。

更新

根据文档,您可以使用 Jar utils 包获取证书和时间戳信息 https://docs.oracle.com/javase/7/docs/technotes/guides/security/time-of-signing.html#APIENHANCE

检查 https://www.programcreek.com/java-api-examples/java.util.jar.JarEntry SecNav.java 示例(获取 Jar 条目的证书和代码签名者)。