zoukankan      html  css  js  c++  java
  • 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历史记录中。


  • 相关阅读:
    Flash/Flex学习笔记(44):万有引力与粒子系统
    Flash/Flex学习笔记(43):动量守恒与能量守恒
    Flash/Flex学习笔记(36):自己动手实现一个滑块控件(JimmySilder)
    Flash/Flex学习笔记(40):弹性运动续弹簧
    Flash/Flex学习笔记(38):缓动动画
    Flash/Flex学习笔记(37):不用系统组件(纯AS3)的视频播放器只有8.82K
    Flash/Flex学习笔记(42):坐标旋转
    LAMP经典入门教程
    配置SQLServer2005数据库镜像实践操作记录
    PHP 免费视频教程
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/7092556.html
Copyright © 2011-2022 走看看