jarsigner 工具

为 Java 归档 (JAR) 文件产生签名,并校验已签名的 JAR 文件的签名。

结构

jarsigner [ options ] jar-file alias

jarsigner -verify [ options ] jar-file

说明

jarsigner 工具用于两个目的:
1.为 Java 归档 (JAR) 文件签名
2.校验已签名的 JAR 文件的签名和完整性

JAR 功能使得类文件、图像、声音和其它数字化数据可打包到单个文件中,以便更方便快捷地发布。名为 jar 的工具使开发者可以生成 JAR 文件(从技术上来说,任何 zip 文件都可看作为 JAR 文件,尽管由 jar 创建或由 jarsigner 处理时,JAR 文件还包含 META-INF/MANIFEST.MF 文件)。

数字签名是从一个实体(人、公司等)的某些数据(正被“签名”的数据)和私钥计算出来的位串。与手写的签名一样,数字签名有很多有用的特性:
1.其真实性可被校验,方法是使用与生成签名的私钥对应的公钥进行计算。
2.它不可能被伪造(假设私钥没有泄露)。
3.它是已签名数据的函数,因此不能被声明为其它数据的签名。
4.已签名的数据不能被修改;如果被修改了,签名将不再被校验为可信的。

为了给文件生成实体的签名,该实体首先必须与一对公/私钥相关联,以及一个或多个鉴别其公钥的证书。证书是来自一个实体的已被数字签署的声明,表示某个其它实体的公钥有特定值。

jarsigner 使用来自密钥仓库的密钥和证书信息为 JAR 文件生成数字签名。密钥仓库是私钥及其相关的 X.509 证书链(它鉴别相应公钥)的数据库。使用 keytool 实用程序来创建和管理密钥仓库。

jarsigner 使用实体的私钥创建签名。已签名的 JAR 文件包含(和其它东西一起)一份来自密钥仓库的公钥(它对应于用于为该文件签名的私钥)的证书副本。jarsigner 可以使用已签名的 JAR 文件中的(在其签名块文件中)证书来校验其数字签名。

现在 jarsigner 只能为由 JDK 的 jar 工具创建的 JAR 文件或 zip 文件签名(除了 JAR 文件还有一个 META-INF/MANIFEST.MF 文件以外,JAR 文件与 zip 文件一样。当 jarsigner 为 zip 文件签名时将自动创建这样的文件)。

jarsigner 的缺省行为是签名 JAR (或 zip)文件。使用 -verify 选项将其转换为校验已签名的 JAR 文件。

密钥仓库别名

所有密钥仓库实体都须通过唯一的别名来访问。
当使用 jarsigner 签名 JAR 文件时,必须为包含用于生成签名的私钥的密钥仓库实体指定别名。
例如,下面命令将使用与别名“duke”相关联的私钥为名为 “MyJarFile.jar”的 JAR 文件签名,该私钥存储在 C 驱动器的“working”目录下名为“mystore”的密钥仓库中)。因为没有指定输出文件,它将用签名后的 JAR 文件覆盖 MyJarFile.jar。

jarsigner -keystore C:\working\mystore -storepass myspass -keypass dukekeypasswd MyJarFile.jar duke

密钥仓库被口令保护,因此必须指定仓库口令(此处为“myspass”)。如果在命令行中没有指定,系统将给出提示。同样,密钥仓库中的私钥也被口令保护,因此必须指定私钥的口令(此处为 “dukekeypasswd”)。如果没有在命令行中指定,系统将给出提示。此口令与密钥仓库口令可能不同。

转自:http://hi.baidu.com/xidianliuy/blog/item/e067b6fb8786a9274e4aea57.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值