jarsigner 是JDK提供的针对jar包签名的通用工具,位于 JDK/bin/jarsigner

1.展示签名相关信息:

keytool -list -v -keystore [签名] -storepass [密码]例如:keytool -list -v -keystore ./miwan.keystore注意,该命令需要输入签名的密码;-list:列出证书
-v:输出详细信息
-storepass:指定密钥库的解锁密码
-rfc 以可编码方式打印证书

2.查询apk的签名信息-方式1

keytool -printcert -jarfile [apk文件]例如:keytool -printcert -jarfile game.apk文件

3.查询apk的签名信息-方式2

keytool -printcert -file [apk文件解压之后里面的签名文件]

4.修改密钥库中指定条目的密码

keytool -keypasswd -alias 需修改的别名 -keypass 旧密码 -new 新密码 -storepass keystore密码 -keystore 所在的密钥库

5.修改密钥库的密码

keytool -storepasswd -keystore ./yushan.keystore(需修改口令的keystore) -storepass 123456(原始密码) -new yushan(新密码)

6.生成签名

通过-genkeypair可生成签名keytool -genkeypair -alias "test" -keyalg "RSA" -keystore "test.keystore"-genkeypair:生成一对非对称密钥;
-alias:指定密钥对的别名,该别名是公开的;
-keyalg:指定加密算法,本例中的采用通用的RAS加密算法;
-keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下生成一个".keystore"的文件

可参考:https://www.jb51.net/article/238417.htm

7.签名方式一般有两种,一种是上面提到的jarsigner的方式

a:jar方式的签名命令:

jarsigner -digestalg SHA1 -sigalg SHA1withRSA -verbose -keystore youkeystore.keystore -storepass xxx -keypass xxx -signedjar  %1.new.apk %1 wanka.keystore

验证是否成功

jarsigner  -verify  -verbose  -certs  new_demo2.apk
当输出  jar已验证,表示签名成功;

b:apksigner方式的签名命令:

需要用到.pk8和x509.pem这两个文件以及signapk.jar依赖包

java -jar signapk.jar cert.x509.pem private.pk8 unsigned.apk signed.apk

keystore与pk8+x509.pem的转换

参考文档:https://cloud.tencent.com/developer/article/1720058

我总结下来的是以下命令:

1. keytool -importkeystore -srckeystore test.keystore -destkeystore tmp.p12 -srcstoretype JKS -deststoretype PKCS121. keytool -importkeystore -srckeystore test.keystore -srcstorepass wankasdk -destkeystore tmp.p12 -deststoretype pkcs122.openssl pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem3.打开tmp.rsa.pem文件,将里面的复制“BEGIN CERTIFICATE” “END CERTIFICATE” 到(新建个文件) platform.x509.pem,复制 “BEGIN RSA PRIVATE KEY” “END RSA PRIVATE KEY” 到(同上) private.rsa.pem4.openssl pkcs8 -topk8 -outform DER -in private.rsa.pem -inform PEM -out platform.pk8 -nocrypt

注意:此种方式生成的签名方式V1签名:
从Android 7.0开始, 谷歌增加新签名方案 V2 Scheme (APK Signature);
但Android 7.0以下版本, 只能用旧签名方案 V1 scheme (JAR signing)

因为本人从事Android 游戏SDK开发工作,所以大部分时候还是使用的V1签名方式;下一篇文章我也将会介绍如何使用Android自带的apksigner进行V2签名;

关于Java自带的签名工具-Keytool的使用相关推荐

  1. Java自带的常用工具

    2019独角兽企业重金招聘Python工程师标准>>> 引言 在日常代码使用中,我们经常遇到判断字符串为空,或者集合为空的操作.例如判断集合为空,我的第一反应是list.size() ...

  2. java 自带thread分析工具_java自带的jvm分析工具

    这段时间觉得很有必要对java的内存分析工具进行熟悉,这样以后出现机器负载较高,或者反应很慢的时候,我就可以查找原因了.上网搜了搜,发现下面这些是比较常用的,然后我在机器上试试了,把结果也贴出来哈. ...

  3. Android Studio自带apk签名工具——apksigner

    问题背景 解决方法 总结 阅读之前注意: 本文阅读建议用时:5min 本文阅读结构如下表: 项目 下属项目 测试用例数量 问题背景 无 0 解决方法 无 1 总结 无 0 问题背景 最近在看<A ...

  4. 使用jdk 自带的jarsigner 签名工具签名的apk 和android规范有区别

    jdk 自带的签名工具签名后的 apk : ebuy 是签名文件的 Alias名称. android sdk 签名和jdk 签名之后的apk 对比: android sdk 签名: jdk jarsi ...

  5. 数字证书管理工具keytool常用命令介绍

    需要给一个apk加签名,用到了keytool这个工具,下面转载一篇介绍keytool的文章 http://blog.chinaunix.net/uid-17102734-id-2830223.html ...

  6. java和签名工具_java 证书工具keytool生成自签名证书和自签CA证书

    jdk自带的证书管理工具叫keytool,在jdk/bin目录下,可以用来生成自签名证书.导入导出证书.打印证书信息等. 1. 名词 自签名证书:用自己的私钥签发自己的公钥即主体信息生成的证书. 证书 ...

  7. android apk签名工具_关于keytool和jarsigner工具签名的使用小结

    在我们日常Android应用开发中,我们都要对我们开发的apk做签名处理,或者加固,增强我们apk的安全性,防止被逆向反编译,在apk签名这块,我们一般采用JDK自动工具来签名,下面就对相关工具做个简 ...

  8. JDK自带工具keytool生成ssl证书(web服务https配置)

    原文:https://www.cnblogs.com/zhangzb/p/5200418.html 前言: 因为公司项目客户要求使用HTTPS的方式来保证数据的安全,所以木有办法研究了下怎么生成ssl ...

  9. java 证书查看工具_程序员必备工具 Java证书工具Keytool的使用

    一.简介 Keytool是JDK自带的证书管理工具,在jdk/bin目录下,可以用来生成自签名证书.导入导出证书.打印证书信息等. 回顾下前一章的一些概念:PKI:公钥基础设施 X.509 : PKI ...

  10. JDK自带工具keytool生成ssl证书

    前言: 因为公司项目客户要求使用HTTPS的方式来保证数据的安全,所以木有办法研究了下怎么生成ssl证书来使用https以保证数据安全. 百度了不少资料,看到JAVA的JDK自带生成SSL证书的工具: ...

最新文章

  1. Codeforces 955C Sad powers(数论)
  2. 【Codeforces Round #430 (Div. 2) D】Vitya and Strange Lesson
  3. java学习记录--ThreadLocal使用案例
  4. php默认语法,php基本语法
  5. 自动化测试之--参数化
  6. success.ftlh与error.ftlh
  7. Python字符串函数说明(菜鸟教程里面的)
  8. 使用redux和axios获取api数据
  9. ribbon设置权重_spring cloud gateway+ribbon 组合指定版本权重分流(简易灰度发布实现)...
  10. Elasticsearch学习--elasticsearch介绍与安装
  11. xposed框架-Hook修改imei imsi
  12. 51单片机下载完程序后不亮_单片机实用工具大全,超级赞,工程师必备!
  13. 【今日CV 计算机视觉论文速览 第108期】Tue, 30 Apr 2019
  14. 摩尔庄园一直显示服务器,《摩尔庄园手游》一直显示获取远端资源号介绍 进不去怎么办...
  15. 网站建设项目管理——8个步骤教你管理网站建设项目
  16. windows服务器双网卡链路聚合_服务器双网卡捆绑与交换机链路聚合排障1例
  17. 带宽,线速以及吞吐量的概念
  18. 通过IMSI判断运营商的方法
  19. 给每个物品一张“身份证”
  20. PHM2010刀具磨损数据集分享

热门文章

  1. 谈谈阿里云服务器入门级和企业级性能差别
  2. JavaScript在jQuery $(#).blur()内使用使用alert()函数导致无限失去焦点循环执行弹窗警告无法跳出解决方案...
  3. Hbase-1.2.11安装配置详细与使用
  4. 大数据能否让地震预警更加快速有效
  5. 【数据分享】1999—2021年地级市学校数、教师数和学生数(Shp/Excel格式)
  6. 《巴菲特1998年佛罗里达大学演讲》核心
  7. 在HP compaq dx2700安装windows server 2003时相关问题解决
  8. 【IEEE出版 | IEEE Xplore, EI, Scopus检索】第二届健康大数据与智能医疗国际会议(ICHIH 2023)
  9. JDBC-06:PrepardeStatement操作BLOB类型字段
  10. 什么是具有人身依附性的合同