jarsigner命令行签名打包

article/2025/9/19 13:47:02

    jarsigner签名,之前都是通过AS进行签名,通过这种方式也是可以签名的,需要提前把需要的东西准备好,现在把步骤记录在下面。(下面的操作都是在jdk的路径下进行操作)

        1.首先准备Jdk的路径(在android studio中查看方法):

        

 

或者 :首先查看系统是否安装有jdk,打开cmd在DOS窗口输入  java -version查看jdk版本信息

然后把未签名的文件和 签名文件 , 放到一个 路径下,下面才是路径:

 

然后打开,keytool, 打开一个命令窗口, 在keytool的 窗口下,打开  -jer  命令

 

   2. 然后打开cmd,进入到上面的jdk路径下。

       准备工作,把需要签名的文件 abc-unsigned.apk  和签名文件  abc.keystore (别名是abb) 放到jdk的路径下。

       然后开始在cmd中输入命令行:

jarsigner -verbose -keystore abc.keystore -signedjar abc_signed.apk abc_unsign.apk abb

      上面这一句命令行中需要改变的参数值是:     

          abc.keystore apk需要的签名文件

          abc_signed.apk 签好名之后apk的名字

          abc_unsign.apk 未签名的apk名字

          abb 签名的别名

    3.Enter,之后输入签名文件的密码

补充一张效果:

         完成如图

如果是 jdk 1.8 命令行还需要补充一下:

最近将电脑中的JDK升级到了最新的JDK8,没想到在给apk打包签名的时候,发现使用JDK8中的jarsigner命令签名的apk无法安装。最终在android sdk官网http://developer.android.com/查寻到原因  

介绍中有一条注意事项,说JDK7修改了默认的签名算法,所以给apk签名时要自己通过jarsigner命令的-sigalg 和 -digestalg选项分别指定签名算法名字和摘要算法名字,官方文档中给定算法分别是SHA1withRSA和SHA1

JDK1.8 命令:(需要指定tsa,如下面指令)

jarsigner -tsa http://timestamp.digicert.com -sigalg SHA1withRSA -digestalg SHA1 -verbose  -keystore android.keystore -signedjar signed.apk unsign.apk alias_name

时间 :    -tsa http://timestamp.digicert.com

签名算法名字:  -sigalg

摘要算法名字: -digestalg

签名结果:

        apk 之所以需要签名, 是出于安全考虑的认证方式, apk 没有签名或者前后签名不一致都无法安装。 任何对apk的篡改都需要重新对apk签名才能安装, 由于篡改者是无法获取原始apk的秘钥信息,因此篡改后的apk由于签名不一致是无法替换原始apk的,这样既保证了apk的安全性,同时也保证了手机的安全和稳定性 。

包签名之后,再验证一下,是否签名成功。 

命令行:   jarsigner -verify [选项] jar 文件,现有下面三种情况:

        a. 未签名:

        

        b.签名成功:

        

        c .签名有问题的:

       

           这种出现弱算法问题的,我这里是因为 -sigalg 属性填写的MD5withRSA ,与自身的这个属性没有匹配,

  所以解决方法, 通过下面命令行,查看自己签名文件的信息,把那个签名算法名称填写到 -sigalg后面,然后再次签名

 

(相关链接:https://jingyan.baidu.com/article/49711c61489e72fa441b7cf0.html?st=2&net_type=1&bd_page_type=1&os=0&rst=)

Keytool -list -v - alias  别名  -keystore  签名文件.keystore  -storepass 签名密码

 

通过查看签名key的信息,填写上面的内容(http://p.primeton.com/articles/53b3bbb0e138235d650000a4):

如下效果:

至此jdk 1.8 签名完成,希望可以帮助大家。

 

在默认的jdk 安装目录下  如: C:\Program Files\Java\jdk1.7.0_09\bin 下的keytool.exe 工具 用cmd 打开 

 

打包时,jdk1.8时的路梳理:

jarsigner -tsa http://timestamp.digicert.com -sigalg SHA1withRSA -digestalg SHA1 -verbose  -keystore dianzhuan.keystore -signedjar signmssp-verify.apk mssp-verify.apk dianzhuanshichang


jdk的路径 : 可以在控制面板中看这个东西, 笔记本中在  E:\JAVAJDK\Java\bin  这个路径下 

 


http://chatgpt.dhexx.cn/article/YsPoMHyY.shtml

相关文章

jarsigner: 无法打开 jar 文件: tap_unsign.apk

flutter 的 android项目上线,我们在想应用宝发布应用时,需将key.jks文件放入应用宝的空白文件中,在cmd中执行 jarsigner -verbose -keystore key.jks -signedjar baoming.apk tap_unsign.apk name遇到如下报错 jarsigner: 无法打开 jar 文件…

apk重签名之jarsigner命令签名

apk的签名工作可以通过两种方式来完成: 1)通过ADT提供的图形化界面完成apk签名;2)完全通过DOS命令来完成apk签名 1)准备工作 我比较喜欢第2)种方式,所以下面将讲解如何通过命令的方式完成apk…

jarsigner签名

上线了3年多的项目,最近为了进行市场推广,在现在主流的vivo,oppo,华为及百度和阿里进行上传应用.因为有些市场是因为有抓取包的行为(比如在oppo应用市场,以前从未在oppo市场上传过应用,但是能在他的市场中搜索到,这就是因为在其他市场比如应用宝这些市场抓取过包),因此在诸如op…

使用jarsigner工具apk签名算法问题

为 -digestalg 选项指定的SHA1 算法 被视为存在安全风险。此算法将在未来的更新中被禁用。 为 -sigalg 选项指定的SHA1withRSA 算法被视为存在安全风险。此算法将在未来的更新中被禁用。 修改: 将 signcmd "%sjarsigner" -keystore "%s" -st…

Metasploit远程控制安卓手机,jarsigner(工具找不到)签名使用问题zipalign(工具)及解决方法

问题点: 1.kali linux2020.3版本,在使用msf生成安卓木马时远控手机,签名时需要3个工具,分别是keytool,jarsigner,zipalign,只提示有keytool工具,jarsigner和zipalign工具找不到. 2.在模拟器中成功,但很多…

使用jarsigner对APK签名

写在文章中之前:网上当前很多关于jarsigner对APK签名的讲法,但是有些讲的很粗糙,有些还在就在抄袭他人的文章,而自己却没有去验证是否正确 一、由于自己在工作中要用到jarsigner对apk进行最后的发布签名,所以自己也去…

Android 应用平台加固之后操作(apk重签名「zipalign」「apksigner」「jarsigner」) 操作环境:MacOS

Android 应用平台加固之后操作(apk重签名)「zipalign」「apksigner」「jarsigner」 前言运行环境对齐(zipalign)重签名 apksigner (推荐方法)重签名 jarsigner (v1打包)具体使用对齐「zipalign」出现 "Output file ......apk…

Windows平台 使用jarsigner对Apk签名

使用的是JDK自带的jarsigner工具来完成Apk签名 1) 首先找到你的Java Jdk中bin的路径:C:\Program Files\Java\jdk1.8.0_152\bin jarsigner简单使用说明 #jarsigner的命令格式: jarsigner -verbose -keystore [您的私钥存放路径] -signedjar [签名后文件存…

jarsigner和apksigner对apk/aab签名

1、查看签名文件的信息 工具目录:C:\Program Files\Java\jre1.8.0_331\bin keytool -list -v -keystore E:\test.jks输入该命令,然后输入密码,即可查看签名信息 2、签名工具 签名工具说明位置jarsignerJDK提供的针对jar包签名的通用工具…

Android jarsigner和apksigner签名apk(.jks)

前言 为了增加 Apk 的安全性,防止反编译,我们会对开发的 Apk 做签名处理,如果要上架应用商店,部分还会要求 Apk 必须加固后才能上架。另外存在一部分免费加固apk后会删除AndroidStudio打包的签名,需要我们重新签名&am…

jarsigner命令详解

用法&#xff1a;jarsigner [选项] jar 文件别名 jarsigner -verify [选项] jar 文件 [-keystore <url>] 密钥库位置[-storepass <口令>] 用于密钥库完整性的口令[-storetype <类型>] 密钥库类型[-keypass <口令>] …

Java的安装及‘jarsigner‘ 不是内部或外部命令解决方法(附jdk8下载链接)

安装JDK 下载JDK&#xff1a; 网盘地址 , 提取码&#xff1a;y5f3 双击安装程序 一直点击下一步 到这里已经安装好了 但是执行 jarsigner命令会看到 ‘jarsigner‘ 不是内部或外部命令解决方法 的报错 解决 可能是因为在bin 目录下没有 jarsigner.exe&#xff0c;没有的…

【Android 教程系列第 28 篇】Android 分别使用 jarsigner 和 apksigner 对 APK 签名(v1、v2 签名)的详细教程

这是【Android 教程系列第 28 篇】&#xff0c;如果觉得有用的话&#xff0c;欢迎关注专栏。 为了增加 Apk 的安全性&#xff0c;防止反编译&#xff0c;我们会对开发的 Apk 做签名处理&#xff0c;如果要上架应用商店&#xff0c;部分还会要求 Apk 必须加固后才能上架。 而对…

【Java可执行命令】(十)JAR文件签名工具 jarsigner:通过数字签名及验证保证代码信任与安全,深入解析 Java的 jarsigner命令~

Java可执行命令之jarsigner 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法3.1.1 可选参数&#xff1a;jarsigner -keystore < url>3.1.2 可选参数&#xff1a;jarsigner -storepass <口令>3.1.3 可选参数&#xff1a;jarsigner -keypass <口令>3.1.4 可选参…

您的凭据不工作,请输入新凭据

转载自 http://m.blog.csdn.net/article/details?id47706021 今天上班同事说远程桌面无法使用&#xff0c;然后VNC连接&#xff0c;查看情况&#xff0c;密码是正确的&#xff0c;防火墙也关了&#xff0c;百思不得其解。 上网查询问题&#xff0c;找到一个解决办法&#xff0…

远程桌面连接提示“您的凭据不工作”

本次操作的是企图远程别人的电脑配置&#xff0c;而非被远程的电脑 在域环境中&#xff0c;如果使用Vista及以上的操作系统&#xff0c;默认情况下&#xff0c;在连接到远程计算机时无法保存凭据。 当我们使用远程桌面连接时&#xff0c;即使已经勾选了“记住我的凭证”。 但是…

凭据不工作

最悲催的事情是什么&#xff1f;那就是你可以远程别人的电脑&#xff0c;但是别人不能远程自己的电脑&#xff01; 背景&#xff1a; 换了个win8.1的系统&#xff0c;刚开始可以远程上,过了几天,电脑突然不能远程了,让我很是郁闷呀. 于是在网上查了好多资料,看看他到底是什么…

win10远程桌面连接凭据怎么设置_win10远程桌面连接提示您的凭据不工作修复方法...

在win10系统中&#xff0c;使用远程桌面可以不在用户电脑前就可以帮助他人&#xff0c;轻松的解决一些自己不在场的难题&#xff0c;然而近日有用户却发现自己的win10系统在进行远程桌面连接时出现提示您的凭据不工作的问题&#xff0c;那么对此有什么方法能够解决呢&#xff1…

计算机远程连接提示凭证不工作,连接远程桌面提示您的凭证不工作怎么办

安装win10正式版&#xff0c;工作需要连接远程桌面&#xff0c;但是连接过程中&#xff0c;提示您的凭证不工作。原有保存的远程帐号密码无法使用&#xff0c;导致远程登录系统失败&#xff0c;连接远程桌面提示您的凭证不工作的解决方法其实很简单&#xff0c;下面由学习啦小编…

远程连接不成功,提示您的凭据不工作的解决办法

1&#xff0c;输入WindowsR键 进入命令行输入模式&#xff0c;在弹出的运行框里输入【gpedit.msc】点击确定&#xff0c;打开本地组策略编辑器 2&#xff0c;然后依次点击【计算机配置】&#xff0c;【管理模板】&#xff0c;【系统】&#xff0c;【凭据分配】。双击打开点击右…