我注意到它在读取的keytool文档中 “jarsigner [...]检查该证书的公钥是否”可信“,即包含在指定的密钥库中。” 而jarsigner手册页指出 “验证[...]”时不需要密钥库,并且该实用程序将始终根据随jar提供的证书进行验证。 在我看来它会破坏目的的方式,因为它只会证明罐子自签署以来没有被改变,但不是由一些特定的权威/供应商签署。
如果用于签署jar的证书在运行时系统上未知/可信,是否有某种方法可以使验证失败? 或者我必须使用脚本来调用 jarsigner -verify -verbose -keystore ... 并解析输出以查看本地(运行时)密钥库中是否有签名证书的条目?
困惑, 彼得
答案 0 :(得分:0)
jarsigner
实用程序对JAR签名验证毫无用处,因为它不验证签名者证书,不检查签名上的可信时间戳并且不提供可用结果(解析控制台输出不是一个好的解决方案)
为了避免这种限制,我们选择编写自己的verify_jar实用程序。