探索Eclipse的插件签名机制 - 编程入门网
e -storepass store123 -keypass key123
C:\workspace\HelloWorld.update\features\HelloWorld.feature_1.0.0.jar business
清单 3. 为插件 JAR 文件签名
因为有效期为 180 天,所以您将收到 6 个月后签名证书将过期的警告。如图 6 和图 7 中的最后一 行所示。 图 6. 为特性 JAR 文件签名时收到的警告 图 7. 为插件 JAR 文件签名时收到的警告 通过运行以上两个命令,特性 JAR 文件和插件 JAR 文件会发生什么变化呢?在 HelloWorld.feature_1.0.0.jar 和 HelloWorld_1.0.0.jar 中打开 META-INF 文件夹,您将看到添加了 两个文件 — 即 BUSINESS.SF 和 BUSINESS.DSA,如图 8 所示。 图 8. META-INF 文件夹中的 BUSINESS.DSA 和 BUSINESS.SF 探索Eclipse的插件签名机制(6)时间:2011-11-11 IBM Xing Xing Li事实上,未签名和签名插件的区别就是多了这两个文件:.SF 和 .DSA。我们先探讨 BUSINESS.SF 文 件。这是 JAR 文件的签名文件,它内部的信息根据 RFC822 标准以名称值对的形式显示。签名者由带有 扩展名 .SF 的签名文件表示。主要部分的条目 x-Digest-Manifest-Main-Attributes(x 是摘要算法, 比如 SHA1)包含清单文件的主要属性的摘要值。比如以 Base64 表示的嵌入式数据,这是一种使用 Internet 加密和传输 8 位字节的流行技术。表 1 列出了特性 JAR 文件和插件 JAR 文件中的 BUSINESS.SF 文件的示例内容,包括版本、签名算法、JVM 和摘要信息。 表 1. 特性 JAR 文件和插件 JAR 文件中的 BUSINESS.SF 文件
BUSINESS.DSA 文件正好相反,它是一个更加复杂的二进制签名文件。这个签名块文件存储相应的签名 文件的数字签名。如您所见,BUSINESS.DSA 文件和 BUSINESS.SF 文件使用相同的基文件名,但扩展名不 同。实际上,还可以选择 .RSA 和 .PGP 作为二进制签名文件的扩展名,这取决于所使用的算法。图 9 显示了 BUSINESS.DSA 中包含的内容,以及使用文字处理器(我们使用 UltraEdit)转换后的一些可读信 息。这意味着您可以看到一些文字字符串,比如 “CN”、“IBM”、“Lotus Expeditor” 和 “Li Xing Xing”。但是不能看到完整的信息。这就是签名的奇妙之处。 图 9. BUSINESS.DSA 内容 在安装插件 JAR 文件之前,我们可以使用 jarsigner -verify 命令验证它的签名。针对带签名的插 件 JAR 文件发出以下命令,并获取响应。如图 10 所示。-verbose 和 –certs 选项将在验证期间显示 详细的输出和证书。 清单 4. 使用 Jarsigner 命令验证带签名的插件 JAR 文件
|
||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |