`
sea878412
  • 浏览: 24295 次
  • 性别: 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 文件。

 

分享到:
评论

相关推荐

    JDK命令详细解释,教你如何使用

    本文将详细介绍几个常用的JDK命令及其使用方法,包括`rmic`、`rmid`、`rmiregistry`、`serialver`以及`jarsigner`等,帮助读者更好地理解和运用这些命令。 #### 1. rmic - 生成RMI存根和骨架文件 **简介**:`rmic`...

    常用指令1

    在【标题】"常用指令1"和【描述】"常用指令1"中,虽然没有提供具体的知识点,但从【标签】"doc文档"和【部分内容】提及的`jarsigner`指令,我们可以深入探讨这个主题。 首先,理解`jarsigner`的基本概念是必要的。`...

    windows下android apk签名工具

    1. **JDK的jarsigner命令行工具**:这是Java开发环境自带的工具,适用于所有平台,包括Windows。 2. **Android Studio内置签名工具**:在Android Studio中,可以通过构建菜单直接对APK进行签名和优化。 三、使用...

    如何将CLASS文件打成JAR包

    可以使用`jarsigner`命令进行签名,并使用`jar`命令的`tvf`选项验证签名。 通过以上步骤,你就可以将`.class`文件打包成`.jar`包,方便地管理和分发你的Java程序。在实际开发中,理解这些基本操作对于提高效率和...

    app逆向学习相关笔记

    签名过程通常涉及使用Java JDK自带的keytool和jarsigner工具。 - keytool用于生成密钥库,例如`keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity ...

    Android签名机制介绍:生成keystore、签名、查看签名信息等方法

    在生成keystore时,常用的命令格式如下: ```bash keytool -genkey -alias 别名 -keyalg 加密算法 -validity 天数 -keystore keystore文件名 ``` 例如,使用RSA算法创建一个有效期为4000天、别名为mykey、keystore...

    Android apk反编译与签名工具

    安装Apktool需要Java Development Kit (JDK),因此确保在系统环境中设置了`HOME_JAVA`变量,指向JDK的安装路径。执行反编译命令通常如下: ``` apktool d -s &lt;apk_path&gt; -o ``` 2. **dex2jar**:这个工具用于将...

    Android Apk去掉签名以及重新签名的方法

    2. 运行jarsigner工具,并确保环境变量PATH中包含了JDK的bin目录路径,否则需要手动指定jarsigner的完整路径。 3. 使用jarsigner的签名命令,其基本用法如下: ``` jarsigner -keystore [密钥库路径] -signedjar ...

    反编译工具

    这通常涉及使用JDK的`jarsigner`工具和dx工具进行签名和dex优化。 “apktool”虽然功能强大,但也有其局限性,例如无法完全恢复原始Java源代码,且反编译过程可能受到混淆、加密等保护措施的影响。此外,使用反编译...

    【android】apk汉化

    最常用的工具之一是Apktool,这是一个开源的Android反编译和重新打包工具。使用Apktool,我们可以解压APK,编辑其中的资源文件,然后重新打包并签名,以便在设备上安装。以下是使用Apktool进行汉化的基本步骤: 1. ...

    Android APK反编译

    使用JDK的`jarsigner`工具对APK进行签名,然后使用`zipalign`进行优化,以确保APK在运行时的最佳性能。 需要注意的是,反编译APK可能涉及法律问题,因此仅应在个人学习、研究或合法授权的情况下进行。此外,由于...

    apk编译反编译签名

    签名工具有JDK自带的keytool和 jarsigner,或者使用专门的APK签名工具如APKSigner。生成签名文件(Keystore)后,使用jarsigner命令对APK进行签名。 4. **APK的美化工作**:APK的美化不仅仅是视觉上的优化,也包括...

    apktool反编译工具

    这通常需要使用JDK的`jarsigner`工具完成,不是Apktool的一部分,但Apktool提供了辅助信息。 4. **安装APK**:签名后的APK可以通过ADB(Android Debug Bridge)安装到设备上。 **Apktool的局限性** 虽然Apktool在...

    Android反编译工具

    ApkToolkit是一款常用的Android反编译工具,它提供了一站式的解决方案,包括APK的解压、反编译、资源解析等。下面是使用ApkToolkit的基本步骤: 1. **下载与安装**:从可靠的来源下载ApkToolkit的压缩包,解压缩到...

    Android签名工具,升级包和APK签名

    常用的工具有Keytool,它内置在Java Development Kit (JDK) 中。 2. **签署APK**:使用私钥对APK进行签名,这个过程可以通过`jarsigner`命令或者上述的`sign64.exe`或`sign32.exe`工具完成。 3. **ZIPalign优化**:...

    安卓反编译工具教程

    6. **签名和安装**:由于反编译后的APK需要签名才能在设备上安装,你可以使用`jarsigner`工具进行签名,最后用`zipalign`工具进行优化。 注意,反编译可能存在法律风险,只应用于个人学习、研究或合法的逆向工程...

Global site tag (gtag.js) - Google Analytics