我有一个zip文件,其中包含从HTTPS站点下载的大量jar文件。
罐子形成一个命令行驱动的服务器端应用程序。我有一个Java编写的应用程序安装程序,它执行一些检查以验证jar是使用特定的可信数字证书签名的,并且在传输过程中没有被修改。
是否有必要在收到时验证jar文件,或者这是否是JVM所做的事情?我知道JVM会验证字节码,但是jar签名呢?
答案 0 :(得分:2)
这取决于罐子的使用方式。
如果最终由类加载器加载jar,则类加载器可能会执行签名的验证。如果类加载器恰好是URLClassLoader的实例,则将执行签名的验证。
如果您使用Java API中的JarFile类来访问JAR,那么使用接受String或File参数的简单构造函数将导致执行验证。如果需要,必须明确关闭验证。