快速业务通道

探索Eclipse的插件签名机制 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-04
e -storepass store123 -keypass key123 C:\workspace\HelloWorld.update\features\HelloWorld.feature_1.0.0.jar business

清单 3. 为插件 JAR 文件签名

jarsigner -keystore C:\keystore\mykeystore -storepass store123 -keypass key123 C:\workspace\HelloWorld.update\plugins\HelloWorld.feature_1.0.0.jar business

因为有效期为 180 天,所以您将收到 6 个月后签名证书将过期的警告。如图 6 和图 7 中的最后一 行所示。

图 6. 为特性 JAR 文件签名时收到的警告

探索Eclipse的插件签名机制 - 编程入门网

图 7. 为插件 JAR 文件签名时收到的警告

探索Eclipse的插件签名机制 - 编程入门网

通过运行以上两个命令,特性 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的插件签名机制 - 编程入门网

探索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 文件

特性 JAR 插件 JAR
Signature-Version: 1.0 SHA1-Digest-Manifest-Main-Attributes: wo/L6RyS5cmXUyjSULsCmbi//pc= Created-By: 1.5.0 (IBM Corporation) SHA1-Digest-Manifest: Hw4sDi+lK9Lk+yxEsiIBU4k8fdQ= Name: feature.xml SHA1-Digest: OOwzec1mVb8PGpLLjSy52QfDiR4= Signature-Version: 1.0 SHA1-Digest-Manifest-Main-Attributes: Njf5Vhqe3paGaU+YpcW3RRd+nCg= Created-By: 1.5.0 (IBM Corporation) SHA1-Digest-Manifest: 2I/i8WO/wARcxqiOcs1ukjmquhA= Name: helloworld/Activator.class SHA1-Digest: fHk5c6yYAWPNvgZYLAENX/00axE=

BUSINESS.DSA 文件正好相反,它是一个更加复杂的二进制签名文件。这个签名块文件存储相应的签名 文件的数字签名。如您所见,BUSINESS.DSA 文件和 BUSINESS.SF 文件使用相同的基文件名,但扩展名不 同。实际上,还可以选择 .RSA 和 .PGP 作为二进制签名文件的扩展名,这取决于所使用的算法。图 9 显示了 BUSINESS.DSA 中包含的内容,以及使用文字处理器(我们使用 UltraEdit)转换后的一些可读信 息。这意味着您可以看到一些文字字符串,比如 “CN”、“IBM”、“Lotus Expeditor” 和 “Li Xing Xing”。但是不能看到完整的信息。这就是签名的奇妙之处。

图 9. BUSINESS.DSA 内容

探索Eclipse的插件签名机制 - 编程入门网

在安装插件 JAR 文件之前,我们可以使用 jarsigner -verify 命令验证它的签名。针对带签名的插 件 JAR 文件发出以下命令,并获取响应。如图 10 所示。-verbose 和 –certs 选项将在验证期间显示 详细的输出和证书。

清单 4. 使用 Jarsigner 命令验证带签名的插件 JAR 文件

jarsigner -key

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号