您的位置:首页 > 移动开发

APP为什么签名,使用keytool jarsigner进行签名

2017-06-29 08:35 363 查看
签名(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历史记录中。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: