快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-04
,我们创建了一个 HelloWorld 样例插件、一个 HelloWorld 特性, 以及一个用来封装它们的 HelloWorld 更新站点。

图 2. 插件的种类

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

探索Eclipse的插件签名机制(3)

时间:2011-11-11 IBM Xing Xing Li

我们使用 Eclipse Update Manager 通过以下步骤验证它的身份:

单击 Help > Software Update > Find and Install …。

选择 Search for new feature to install 并单击 Next。

单击 New Local Site … 按钮,导航到 HelloWorld 更新站点并单击 OK。

单击 Finish。

我们将收到一个 “unsigned feature” 通知,警告我们这个特性没有签名,并且无 法验证其提供者。

图 3. 在 Eclipse 中验证未签名的插件

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

如果使用相同的步 骤安装该插件,IBM Lotus Expeditor(一个基于 Eclipse 的强大平台)也会显示类似的警告消息。用户 可以通过单击单选按钮选择接受或拒绝该插件,如下所示。

图 4. 在 IBM Lotus Expeditor 中验证未签名插件的测试场景

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

探索Eclipse的插件签名机**(4)

时间:2011-11-11 IBM Xing Xing Li

未签名特性

代码完整性的目标就是确定代码在安装之前未被修改。要实现这一目标,我们使用两个实用工具: Keytool 和 Jarsigner。

Keytool 是一个用来管理密匙和****的命令行工具。****是指来自某一实体(比如,个人、公司、计 算机和程序等)的数字签名语句,它说明其他一些实体的公共密匙(或其他信息)有一个特定的值。 Keytool 当前处理 X.509 ****。X.509 ****包括 Version、Validity Period、Subject Name(普通名称 ,组织部门,组织和国家)等。密匙和****存储在 keystore 中,它实际上是一个文件。它通过密码保护 私有密匙。

Jarsigner 是另一个用于为 JAR 文件签名并验证签名的实用工具。为了验证 JAR 文件中的数字签名 ,Jarsigner 将获取随 JAR 文件附带的****,然后根据特定的 keystore 检查该****的公共密匙是否可 信。我们将在本文中使用 Jarsigner 的签名和验证功能。

首先,我们使用 Keytool 创建一个 keystore,它包含一对密匙(公共密匙和私有密匙)。发出以下 命令。

清单 1. 创建一个 keystore

keytool -genkey -dname "cn=Li Xing Xing, ou=CDL, o=IBM, c=CN" -alias business - keypass key123 -keystore C:\keystore\mykeystore -storepass store123 -validity 180

该命令完成以下任务:

它在 C:\keystore 目录中创建一个名为 mykeystore 的 keystore 文件,并为它分配一个密码 store123。keystore 的默认类型是 jks。

它为一个实体生成公共/私有密匙对。该实体的普通名称的 Distinguished Name 值是 “Li Xing Xing”,组织部门是 “CDL”,组织是 “IBM”,国家是 “CN”。密码 key123 分配给私有密匙。 keystore 中将包含一个名为 “business” 的实体。

它使用默认的 DSA 密匙生成算法,并创建两个 1024 位(默认长度)的密匙。

它使用默认的签名算法(SHA1 和 DSA)创建一个带有自我签名的****,有效期为 180 天。

相应地,将在目标文件夹中创建一个名为 mykeystore 的文件。

图 5. 生成的 Mykeystore

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

探索Eclipse的插件签名机制(5)

时间:2011-11-11 IBM Xing Xing Li

创建一个带有自我签名的证书之后,我们将通过下面的 Jarsigner 命令使用它为 feature.jar 和 plugin.jar 签名,如清单 2 和清单 3 所示。在这里,我们以 jarsigner [options] jar-file alias 命令格式使用 Jarsigner 的签名功能。我们在选项字段中提供 keystore 文件的位置、keystore 密码和 私有密匙密码。

清单 2. 为特性 JAR 文件签名

jarsigner -keystore C:\keystore\mykeystor

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号