签名(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历史记录中。

最新文章

  1. 美团大众点评服务框架Pigeon
  2. Understanding RabbitMQ Exchange &amp; Queue
  3. Windows下Nginx Virtual Host多站点配置详解
  4. The Cow Lexicon
  5. 自动化测试(三):QTP参数化
  6. JavaScript高级程序设计—阅读笔记(第一部分)
  7. 【转】从QA到EP
  8. ZOJ-2112-Dynamic Rankings(线段树套splay树)
  9. rownum使用方法
  10. javaScript执行环境、作用域链与闭包
  11. NOIP2017感悟
  12. java中进程与线程的区别
  13. ASP.NET中出现内存溢出错误System.OutOfMemoryException
  14. 二十一、springcloud(七)服务网关zuul
  15. 利用Linux的硬连接删除MySQL大文件
  16. openerp学习笔记 视图样式(表格行颜色、按钮,字段只读、隐藏,按钮状态、类型、图标、权限,group边距,聚合[合计、平均],样式)
  17. Chapter 8 面向对象设计
  18. DButils分析
  19. 一起来做Chrome Extension《一些问题》
  20. Spring-ApplicationContext容器

热门文章

  1. QMap的性能,只要超过10个元素,就被QHash彻底拉开差距
  2. 基于mkdocs-material搭建个人静态博客
  3. 软件需求规范说明 (Software Requirements Specification, 简称SRS)
  4. Aspose.Words将Word模板打印出来
  5. 让break跳出外层循环的方法
  6. ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @@GLOBA
  7. MyProject
  8. PLSQL 11注册码
  9. 逐步理解Java中的线程安全问题
  10. (转)基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍