JAR文件揭密:探索JAR文件格式的强大功能 - 编程入门网
成或者验证 JAR 文件的数字签名。
假设像上述例子那样创建了 keystore “jamesKeyStore”,并且它包含一个别名为 “james”的密钥,可以用下面的命令签名一个 JAR 文件:
这个命令用密码“jamesKeyStorePass”从名为“jamesKeyStore”的 keystore 中提出别 名为“james”、密码为“jamespass”的密钥,并对 Sample.jar 文件签名、创建一个签名 的 JAR -- SSample.jar。 jarsigner 工具还可以验证一个签名的 JAR 文件,这种操作比签名 JAR 文件要简单得多 ,只需执行以下命令:
如果签名的 JAR 文件没有被篡改过,那么 jarsigner 工具就会告诉您 JAR 通过验证了 。否则,它会抛出一个 SecurityException , 表明哪些文件没有通过验证。 还可以用 java.util.jar 和 java.security API 以编程方式签名 JAR。也可以使用像 Netscape Object Signing Tool 这样的工具。 JAR 索引 如果一个应用程序或者 applet 捆绑到多个 JAR 文件中,那么类装载器就使用一个简单 的线性搜索算法搜索类路径中的每一个元素,这使类装载器可能要下载并打开许多个 JAR 文 件,直到找到所要的类或者资源。如果类装载器试图寻找一个不存在的资源,那么在应用程 序或者 applet 中的所有 JAR 文件都会下载。对于大型的网络应用程序和 applet,这会导 致启动缓慢、响应迟缓并浪费带宽。 从 JDK 1.3 以后,JAR 文件格式开始支持索引以优化网络应用程序中类的搜索过程,特 别是 applet。JarIndex 机制收集在 applet 或者应用程序中定义的所有 JAR 文件的内容, 并将这些信息存储到第一个 JAR 文件中的索引文件中。下载了第一个 JAR 文件后,applet 类装载器将使用收集的内容信息高效地装载 JAR 文件。这个目录信息存储在根 JAR 文件的 META-INF 目录中的一个名为 INDEX.LIST 的简单文本文件中。 创建一个 JarIndex 可以通过在 jar 命令中指定 -i 选项创建一个 JarIndex。假设我们的目录结构如下图所 示: 图 2. JarIndex JAR文件揭密:探索JAR文件格式的强大功能(6)时间:2011-04-16 IBM Pagadala J. Suresh您将使用下述命令为 JarIndex_Main.jar、JarIndex_test.jar 和 JarIndex_test1.jar 创建一个索引文件:
INDEX.LIST 文件的格式很简单,包含每个已索引的 JAR 文件中包含的包或者类的名字, 如清单 2 所示: 清单 2. JarIndex INDEX.LIST 文件示例
结束语 JAR 格式远远超出了一种压缩格式,它有许多可以改进效率、安全性和组织 Java 应用程 序的功能。因为这些功能已经建立在核心平台 -- 包括编译器和类装载器 -- 中了,所以开 发人员可以利用 JAR 文件格式的能力简化和改进开发和部署过程。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |