`
sea878412
  • 浏览: 23687 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JDK常用命令之jarsigner

阅读更多

功能:

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

参数:

jarsigner用法: [选项] jar 文件别名
jarsigner -verify [选项] jar 文件

[-keystore <url>]           密钥库位置
[-storepass <口令>]         用于密钥库完整性的口令
[-storetype <类型>]         密钥库类型
[-keypass <口令>]           专用密钥的口令(如果不同)
[-sigfile <文件>]           .SF/.DSA 文件的名称
[-signedjar <文件>]         已签名的 JAR 文件的名称
[-digestalg <算法>]    摘要算法的名称
[-sigalg <算法>]       签名算法的名称
[-verify]                   验证已签名的 JAR 文件
[-verbose]                  签名/验证时输出详细信息
[-certs]                    输出详细信息和验证时显示证书
[-tsa <url>]                时间戳机构的位置
[-tsacert <别名>]           时间戳机构的公共密钥证书
[-altsigner <类>]           替代的签名机制的类名
[-altsignerpath <路径列表>] 替代的签名机制的位置
[-internalsf]               在签名块内包含 .SF 文件
[-sectionsonly]             不计算整个清单的散列
[-protected]                密钥库已保护验证路径
[-providerName <名称>]      提供者名称
[-providerClass <类>        加密服务提供者的名称
[-providerArg <参数>]] ... 主类文件和构造函数参数

 

实例:

 

说明:

jarsigner 工具用于两个目的: 
1. 为 Java 归档 (JAR) 文件签名 
2. 校验已签名的 JAR 文件的签名和完整性 
JAR 功 能使得类文件、图像、声音和其它数字化数据可打包到一个文件中,以便更方便快捷地发布。名为 jar 的工具使开发者可以生成 JAR 文件(从技术上来 说,任何 zip 文件都可看作为 JAR 文件,尽管由 jar 创建或由 jarsigner 处理时,JAR 文件也包含一个 META- INF/MANIFEST.MF 文件)。
数字签名是一个根据某些数据(被“签名”的数据)和实体(人、公司等)的私钥计算出来的位字符串。与手写的签名一样,数字签名有很多有用的特性: 
• 其真实性可被校验,方法是使用与生成签名的私钥对应的公钥进行计算。 
• 它不可能被伪造(假设私钥没有泄露)。 
• 它是已签名数据的函数,因此不能被声明为其它数据的签名。 
• 已签名的数据不能被修改;如果被修改了,签名将不再被校验为可信的。 
为了给文件生成一个实体的签名,该实体首先必须有一对与它相关的公/私钥对,以及一个或多个鉴别其公钥的证书。证书是由某个实体的数字化方式签发的声明,证明其它实体的公钥是某个特定的值。
jarsigner 使用来自密钥仓库的密钥和证书信息为 JAR 文件生成数字签名。密钥仓库是一个由私钥及其相关的 X.509 证书链(它鉴别相应公钥)组成的数据库。使用 keytool 实用程序来创建和管理密钥仓库。
jarsigner 使用实体的私钥创建签名。已签名的 JAR 文件包含(除了其它东西)一份来自密钥仓库的公钥(它对应于用于为该文件签名的私钥)的证书副本。jarsigner 可以使用已签名的 JAR 文件中的证书(在其签名块文件中)来校验其数字签名。
现 在 jarsigner 只能为 JDK 的 jar 工具创建的 JAR 文件或 zip 文件签名(除了它们还有一个 META- INF/MANIFEST.MF 文件以外,JAR 文件与 zip 文件一样)。当 jarsigner 为 zip 文件签名时将自动创建这样的文 件。
jarsigner 的缺省行为是签名 JAR(或 zip)文件。使用 -verify 选项将其替换为校验已签名的 JAR 文件。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics