APP为什么签名,使用keytool jarsigner进行签名
签名(sign):在应用程序的特定字段写入特定的标记信息,表示该软件已经通过了签署者的审核。过程:使用私有密钥数字地签署一个给定的应用程序
作用:
识别应用程序作者
检測应用程序是否发生改变
有种程序升级。当新程序与旧程序签名不一致时,会发生冲突觉得不是同一APP,,要求新程序改包名
。
。。
keytool 生成签名私钥命令
keytool -genkey -v -keyalg DSA -keysize 1024 -sigalg SHA1withDSA -validity 10000 -keystore Test.keystore -alias devel -keypass 123456 -storepass 123456
參数:
| Keytool 选项 | 描写叙述 |
|---|---|
-genkey |
产生一个键值对(公钥和私钥) |
-v |
同意动作输出 |
-alias<alias_name> |
键的别名。
仅仅有前八位字符有效。 |
-keyalg |
产生键的加密算法。支持DSA和RSA。 |
-keysize |
产生键的长度。假设不支持,keytool用默认值1024 bits.通常我们用2048 bits 或更长的key。 |
-dname |
专有名称。描写叙述谁创建的密钥。 该值被用作自签名证书的颁发者和主题字段。注意你能够不在命令行指定。假设没有指定keytool会提示你(CN, OU, and so on)。 |
-keypass |
键的password。 主要为了安全起见,假设没提供。keytool会提示你输入。 |
-validity |
键的有效期,单位:天 Note: A value of 10000 or greater is recommended. |
-keystore.keystore |
用于存储私钥的文件。 |
-storepass |
私钥存储文件的password。 主要为了安全起见,假设没提供。keytool会提示你输入。 这个password不会存储在你的shell历史记录中。 |
jarsigner使用私钥签名
jarsigner -verbose -sigalg SHA1withDSA -digestalg SHA1 -keystore Test.keystore -storepass 123456 test.apk devel
參数:
| Jarsigner 选项 | 描写叙述 |
|---|---|
-keystore.keystore |
包括你私钥的存储文件 |
-verbose |
显示输出动作。 |
-sigalg |
签名算法,用 SHA1withRSA. |
-digestalg |
消息摘要算法。用 SHA1. |
-storepass |
存储文件的password。 主要为了安全起见,假设没提供。jarsigner会提示你输入。这个password不会存储在你的shell历史记录中。 |
-keypass |
私钥的password。 主要为了安全起见。假设没提供,jarsigner会提示你输入。 这个password不会存储在你的shell历史记录中。 |
APP为什么签名,使用keytool jarsigner进行签名的更多相关文章
- 关于keytool和jarsigner工具签名的使用小结
在我们日常Android应用开发中,我们都要对我们开发的apk做签名处理,或者加固,增强我们apk的安全性,防止被逆向反编译,在apk签名这块,我们一般采用JDK自动工具来签名,下面就对相关工具做个简 ...
- 【keytool jarsigner工具的使用】Android 使用JDK1.7的工具 进行APK文件的签名,以及keystore文件的使用
一个android apk的编译过程 请参考: http://www.2cto.com/kf/201312/261475.html 典型的编译过程: aapt( Android Asset Packa ...
- Android中APK签名工具之jarsigner和apksigner详解
一.工具介绍 jarsigner是JDK提供的针对jar包签名的通用工具, 位于JDK/bin/jarsigner.exe apksigner是Google官方提供的针对Android apk签名及验 ...
- Android 验证APK是否已经签名或是否是Debug签名
https://source.android.google.cn/ http://www.android-doc.com/tools/publishing/app-signing.html Signi ...
- 阿里云API网关(13)请求身份识别:客户端请求签名和服务网关请求签名
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...
- TF签名为什么这么稳定?TF签名找微导流!
TF签名作为目前最稳定的签名方式收到了业界开发者们的认可,而在如今鱼龙混杂的签名平台中,应该如何选择客厅的TF签名平台呢?下面就一起来看看TF签名为什么这么稳定?TF签名找微导流! TF签名的 ...
- 企业签名和TF签名哪个好?TF签名和企业签名怎么选?
很多开发者在App无法上架Appstore,需要内测或者开放给苹果用户使用的时候,需要选择企业签名来帮助自己的App开放下载链接,给苹果用户使用.苹果企业签名的类型有很多,TF签名最近又很火爆,那么企 ...
- 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名【转】
自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行通信 如果你的规划需要创建多个证书,那么使用私有 ...
- 如何设置PDF签名文档,PDF签名文档怎么编辑
在工作中我们都会遇到有文件需要签名的时候,如果是在身边就直接拿笔来签名了,那么如果没有在身边又是电子文件需要签名的时候应该怎么办呢,这个时候就应该设置一个电子的签名文档,其他的文件电子文件签名很简单, ...
随机推荐
- B1260 [CQOI2007]涂色paint 区间dp
这个题和我一开始想的区别不是很大,但是要我独自做出来还是有一些难度. 每一次涂色 只有这两种可能: 1) 把一段未被 覆盖过的区间 涂成 * 色 2) 把一段被一种颜色覆盖的区间涂成 * 色 (并且 ...
- php mktime和strtotime
本文章来给各位同学介绍一下利用php用strtotime或mktime指定日期数据(本周,上周,本月,上月,本季度)实例,希望对各位同学会有所帮助呀. strtotime定义和用法 strtotime ...
- js例子
1.子菜单下拉 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...
- php---依赖倒转(反转控制)原则
一.简介 依赖注入和控制反转说的实际上是同一个东西,它们是一种设计模式,这种设计模式用来减少程序间的耦合 优点:使用依赖注入,最重要的一点好处就是有效的分离了对象和它所需要的外部资源,使得它们松散耦合 ...
- 代理模式(Proxy)C++实现
代理模式 尽管Decorator的实现部分与代理相似,但Decorator的目的不一样.Decorator为对象添加一个或多个功能,而代理则控制对对象的访问. 意图: 为其他对象提供一种代理以控制对这 ...
- [hihocoder][Offer收割]编程练习赛48
折线中点 #pragma comment(linker, "/STACK:102400000,102400000") #include<stdio.h> #includ ...
- javascript中标准事件流addEventListener介绍
addEventListener-开始 前面零散地写了些关于 addEventListener 的内容,觉得比较散,有些地方可能也说得不够清楚明白,所以决定以连载的形式从头到尾再写一篇. addEve ...
- Android学习——碎片Fragment的使用
一.碎片的简单用法(实现在一个活动中添加两个碎片,并让这两个碎片平分活动空间) 1.新建一个FragmentTest项目: 新建一个左侧碎片布局left_fragment.xml,代码如下:(只放置一 ...
- vuex的状态管理模式
1.store.js Vuex 通过 store 选项,提供了一种机制将状态从根组件“注入”到每一个子组件中(需调用 Vue.use(Vuex)) state:存放数据. mutations:提交状态 ...
- Win8.1应用开发之适配器模式(C#实现)
实际上适配器模式是用于解耦.设想一下我们的程序模块A在与模块B打交道时,需要在许多地方多次使用B中某个类的方法,而负责开发B的程序猿Tom还未完全实现该类,会随时更改该类中的方法,那么当Tom在修改时 ...