精华内容
下载资源
问答
  • 通过Keytool 生成 Android 签名文件
    千次阅读
    2022-03-03 15:40:42

    一.签名文件生成方式

    1.签名文件可以通过Android Studio Build->Generate Signed Bundle /APK生成。
    2.通过Keytool生成 。

    Keytool是一个Java数据证书的管理工具,这个工具一般位于
    JDK的安装路径bin目录下。例如我的是:C:\Shen\Software\JDK\jdk1.8.0_60\bin,通过cmd进入。

    二.签名文件生成

    keytool -genkey -alias com.shen.mvpmagic -keyalg RSA -validity 200000 -keystore E:/mvpmagic.keystore
    命令说明:
    -alias 别名(一般我使用的是 包名):com.shen.mvpmagic
    -keyalg 秘钥算法:RSA 
    -validity 有效期:200000
    -keystore 秘钥存储路径:E:/mvpmagic.keystore
    
    

    如图:

     

    三.在项目中使用签名文件

    在build.gradle中android里使用

        //签名信息
        signingConfigs {
            signApp {
                storeFile file('../mvpmagic.keystore')
                storePassword "123456"
                keyAlias "com.shen.mvpmagic"
                keyPassword "123456"
            }
        }
    
        buildTypes {
            release {
                debuggable false
                minifyEnabled true
                signingConfig signingConfigs.signApp
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
            debug {
                debuggable true
                minifyEnabled false
                signingConfig signingConfigs.signApp
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }

    四:如何查看签名文件中的信息呢(MD5、SHA256等)
    在命令符中输入(也是在JDK的目录bin目录下)

    keytool -list -v -keystore E:\mvpmagic.keystore

    如图

     

    更多相关内容
  • VS2017离线安装签名文件

    热门讨论 2018-04-02 07:37:40
    有些人在下载完VS2017离线安装包后,由于签名文件缺失,导致安装时提示程序清单验证失败,现在我把三个签名文件和程序都传上来,就可以正常安装了。安装前将压缩包内的内容替换成相关文件即可
  • 本文件是Android APK生成系统签名文件,关于本文件的详细用法请参见博文:http://blog.csdn.net/l1028386804/article/details/47687027
  • 一、Android 签名机制、 二、生成 Android 签名文件、 三、分析签名文件、 四、签名文件两个密码的作用、 五、三种签名方式、





    一、Android 签名机制



    APK 文件签名 是为了保证 APK 来源真实性 , 以及 APK 文件没有被修改过 ;


    APK 签名基于 Hash 散列算法进行 ;

    Hash 散列算法特性 :

    • 唯一性
    • 长度固定
    • 不可逆

    常用的 Hash 三列算法 :

    • SHA-1 算法 : 安全散列算法 1 1 1 , 长度 160 160 160 位 ;
    • MD5 算法 : 128 128 128 位 ;

    签名过程 :

    • ① 计算数据摘要 : 通过 Hash 算法 , 计算出原始数据 ;
    • ② 私钥加密 : 使用私钥对原始数据再次进行加密 ; 校验时 , 使用公钥对原始数据进行解密 ;
    • ③ 写入签名 : 将签名写入签名区块 ;

    签名时 , 输入签名文件 keystore 的密码后 , 还要输入的别名 和 别名密码 ; 一个 keystore 可以存放多个密钥 ;


    签名相当于一个指纹 , 对 APK 的任何修改 , 哪怕在任意资源文件上加上一个空格 , 都会导致签名被破坏 , 无法通过校验 ;

    签名时 , 使用私钥对 APK 加密 ; 安装 APK 包时 , 系统会使用公钥解密 ;





    二、生成 Android 签名文件



    生成签名密钥 :

    在 Android Studio 中 , 选择 " 菜单栏 / Build / Generate Signed Bundle/APK… " 选项 ,

    在这里插入图片描述

    选择 APK 选项 ,

    在这里插入图片描述

    选择创建新的签名文件 ,

    在这里插入图片描述

    在 " Key store path " 中 , 选择签名文件的生成路径 ,

    在这里插入图片描述

    在弹出的对话框中 , 点击绿色的安卓图标 , 生成在工程根目录 ,
    在这里插入图片描述

    输入密码和别名密码 , 都设置为 123456 , 点击 " OK " 即可生成该签名文件 ;

    在这里插入图片描述

    签名文件生成在工程根目录中 ;

    在这里插入图片描述





    三、分析签名文件



    使用

    keytool -list -v -keystore keystore.jks
    

    命令 , 可以查看该签名密钥的详细信息 ;

    下方的扩展中 , 有 1 1 1 个密钥 #1: ObjectId: 2.5.29.14 Criticality=false ;

    1 1 1 个 jks 文件中 , 可以有多个密钥的 , 在该扩展中 , 可以有多个密钥 ;

    上述签名 , 有负责 Java 程序签名的 , 有负责 Android APK 签名的 ;

    Y:\002_WorkSpace\001_AS\AppStart>keytool -list -v -keystore keystore.jks
    输入密钥库口令:
    密钥库类型: PKCS12
    密钥库提供方: SUN
    
    您的密钥库包含 1 个条目
    
    别名: key0
    创建日期: 2021-9-14
    条目类型: PrivateKeyEntry
    证书链长度: 1
    证书[1]:
    所有者: CN=Han Shuliang
    发布者: CN=Han Shuliang
    序列号: 3f8f6290
    有效期为 Tue Sep 14 22:31:41 GMT+08:00 2021Sat Sep 08 22:31:41 GMT+08:00 2046
    证书指纹:
             MD5:  C1:02:69:22:1F:DB:62:A2:75:B4:C3:B8:6A:55:0C:23
             SHA1: 52:00:F8:BB:3B:3E:5B:DC:CF:BD:94:5A:30:A4:DF:C4:9D:33:54:EE
             SHA256: 02:42:F3:F2:5B:9A:04:9A:28:FD:16:06:25:66:BF:28:F0:DE:14:42:69:04:60:DF:2C:AD:42:C0:51:6D:9B:57
    签名算法名称: SHA256withRSA
    主体公共密钥算法: 2048 位 RSA 密钥
    版本: 3
    
    扩展:
    
    #1: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 26 9F 73 C0 B7 BC 03 F2   6A 15 0A E1 B7 8C 0B 78  &.s.....j......x
    0010: 1A 92 C4 8E                                        ....
    ]
    ]
    
    
    
    *******************************************
    *******************************************
    

    在这里插入图片描述





    四、签名文件两个密码的作用



    红色矩形框内的密码是签名文件的密码 ;

    蓝色矩形框内的别名和密码 , 是给 APK 签名的密码 ;

    在这里插入图片描述





    五、三种签名方式



    Android 有 3 3 3 套签名方式 ,

    V1 签名是 Jar 文件签名 ; 该签名有一定的不安全性 ;

    V2 签名是 整个 APK 文件签名 ; 这是在 Android 7.0 7.0 7.0 之后出现的 ;

    V3 签名需要升级签名密钥 ; 在 Android 9.0 9.0 9.0 之后出现的 ;

    在这里插入图片描述

    展开全文
  • 1、 Android签名机制其实是对APK包完整性和发布机构唯一性的一种校验机制。 2、Android签名机制不能阻止APK包被修改,但修改后的再签名无法与原先的签名保持一致。 (除非拥有发布者的私钥)。 3、APK包加密的公钥就...

    Android生成签名文件对应用签名 & Android签名作用

    一、签名作用

    1、 Android签名机制其实是对APK包完整性和发布机构唯一性的一种校验机制。
    2、Android签名机制不能阻止APK包被修改,但修改后的再签名无法与原先的签名保持一致。
    (除非拥有发布者的私钥)。
    3、APK包加密的公钥就打包在APK包内,且不同的私钥对应不同的公钥。换句话言之,不同的私钥签名的APK公钥也必不相同。所以我们可以根据公钥的对比,来判断私钥是否一致。
    4、确定发布者身份,可以根据公钥来对APP进行更新,换句话说:可以防止APP被其他包名相同应用覆盖

    二、对应用进行签名

    1、

    在这里插入图片描述

    点击 Generate Signed Bundle / APK

    2、

    在这里插入图片描述

    点击 Create new

    3、

    在这里插入图片描述

    key store path : 要生成 .jks 文件的路径
    Alias : 别名
    Validity:有效年限
    下面一些: 姓名、组织机构、组织单位、城市、省、国家

    4、

    在这里插入图片描述

    点击 ok 后会弹出用这样一个弹窗 直接点击 ok ,然后在下一个页面点击 next 。进入步骤 5

    5、

    在这里插入图片描述

    至此,.jks 文件已经生成

    接下来就是进行打包时的签名配置,在 app --> build.gradle 中进行配置

    signingConfigs {//设置签名文件
            debug {
                storeFile file('../key/baiduMap.jks')
                storePassword '123456'
                keyAlias = 'key0'
                keyPassword '123456'
            }
            release {
                storeFile file('../key/baiduMap.jks')
                storePassword '123456'
                keyAlias = 'key0'
                keyPassword '123456'
                v1SigningEnabled true
                v2SigningEnabled true
            }
        }
        
        buildTypes {//设置build类型
            release {
                //是否优化zip
                zipAlignEnabled true
                // 移除无用的resource文件
                shrinkResources true
                //启用代码混淆
                minifyEnabled true
                //混淆规则配置文件
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
                //指明签名文件位置
                signingConfig signingConfigs.release
                buildConfigField "Boolean", "DEBUG_MODE", 'false'
            }
    
            debug {
                shrinkResources false
                minifyEnabled false
                zipAlignEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                signingConfig signingConfigs.debug
                buildConfigField "Boolean", "DEBUG_MODE", 'true'
            }
        }
    

    在发布过程中有些商店必须要使用 .keystore文件来进行签名,这时可以直接把 .jks 文件后缀直接更改为 .keystore 即可

    展开全文
  • Android 安装包没有签名文件问题

    万次阅读 2019-06-19 23:21:12
    当使用Android studio 打好一个release 包,上传到市场平台的时候,却被提示解析失败,没有签名文件,好长时间没有打包了,难道是有些细节给忘了,明明一个月之前上传的签名包还是可以的。 把打好的包改成zip格式,...

    当使用Android studio 打好一个release 包,上传到市场平台的时候,却被提示解析失败,没有签名文件,好长时间没有打包了,难道是有些细节给忘了,明明一个月之前上传的签名包还是可以的。

    把打好的包改成zip格式,解压看了一下 

    确实签名文件应该在META-INF文件夹下,后缀名是.RSA的文件,确实是没有。

    查看了一下自己的打包过程,发现了一个小问题:

    V2这种签名方案是Android7.0引入的,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。具体请看这里。V1适用于所有android版本的机型,但在Android7.0及以上会缺少针对未授权 APK 文件更改的保护;只勾选V2,Android7.0以下的机型会报错,所以这里建议同时勾选V1,V2,以适用所有机型。

    发现问题所在,重新打包,发现还是不可以,再从网上搜索了一下,发现自己的build.gradle 文件有问题:

    在 buildTypes里面添加

    signingConfig signingConfigs.release

     

    再重新打包上传,一切OK。

    展开全文
  • 文章目录背景查看签名信息方式一:使用keytool工具方式二:使用微信提供的工具方式三:某些在线工具生成应用签名文件方式一:使用keytool工具方式二:使用android studio生成v1和v2签名文件的区别APK签名方式一:...
  • android studio 创建签名文件

    千次阅读 2019-10-16 20:02:53
    使用android studio创建签名文件的流程比较简单,下面直接贴出创建签名文件的步骤,使用的android studio版本是3.4.2。 1. 打开Build->Generate Signed Bundle / Apk 2. 选择APK,点击Next 3. 在弹出的...
  • vs2017离线下载后安装提示“程序包清单签名验证失败”解压后拷贝到原文件所在位置替换原来的即可
  • android studio 生成签名文件

    千次阅读 2019-12-12 12:06:43
    1. 在as菜单栏中找到“bulid”这一栏,选择“Generate Signed APK” ... 3.填写完整的签名信息 ...签名文件名会有默认名,自己修改,最好加上后缀.jks,虽然不加...Key store path : 签名文件路径 Password : 签名...
  • android中生成签名文件的两种方法

    千次阅读 2019-07-24 16:48:58
    最近学习android,这个是我在学习安卓中的笔记,主要是讲如何生成签名文件的,至于为什么要生成签名文件,就是因为我们要把我们在ecplise里面所做的app可以发布,然后提供给别人下载。 首先介绍第一种方法: 1.用...
  • Android 签名文件的sha1值查看

    千次阅读 2021-12-21 09:47:26
    xxx.jks:准备好你的签名文件 Java环境:安装jdk 其次 cmd 进入JAVA的bin路径输入框输入CMD 进入 cd C:\Program Files\Java\jdk路径\bin: 选择实际的路径,我这里是安装的时候默认的路径 输入命令:keytool -...
  • 三、数字签名和数字证书 四、apk的签名过程 五、签名中 MANIFEST.MF CERT.SF和 CERT.RSA是怎么生成的 1. MANIFEST.MF 2. CERT.SF 3. CERT.RSA 一、概述 这个玩意简单说起来很简单,详细描述起来很复杂,...
  • AOSP中生成android studio 签名文件

    千次阅读 2021-11-02 16:46:53
    签名文件路径: build/target/product/security/ 目录,将platform.pk8和platform.x509.pem两个文件拷贝出来备用 注意:这是Android原生签名文件,有的厂商是定制过的,可能会在vendor目录下面,直接find查找 ...
  • 在开发中,有些应用的代码不参与系统编译,而是在IDE工具中编译,然后apk参与系统编译并被签名(需要系统签名权限),在调试中时常需要替换系统中编译出来的apk,签名不同会导致安装失败。 1.在程序代码中添加系统...
  • 参考平台:RK3568 Android11 1、生成签名文件 生成签名文件需要用到平台提供的密钥文件,这里我们使用platform.pk8和platform.x509.pem这一对密钥文件,需要注意的是密钥文件要两两对应。RK3568 Android11系统生成的...
  • Android生成系统签名文件jks

    千次阅读 2019-08-21 11:35:29
    我们很多应用需要用到系统签名,可以通过生成系统签名文件,在生成apk时使用这个签名,然后可以安装到机器中,不需要放在源码里编译,重新刷系统。 系统apk,特别是定制方案,将apk生成后,还需要收到进行命令脚本用...
  • 解析失败 安装包没有签名文件

    万次阅读 2019-11-26 18:06:32
    Oppo手机安装APK,提示解析失败 安装包没有签名文件,并且没有旧版本 查看打包过程,检查有没有勾选V1版本 V2这种签名方案是Android7.0引入的,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护...
  • keytool -list -v -keystore + 签名文件 比如:keytool -list -v -keystore /Users/jason/Downloads/keystore/test.keystore 然后输入密码Password 确认 即可获取到MD5,SHA1,SHA256 2.Android Studio ...
  • 解决安装apk签名文件不一致问题。
  • Android查看jks签名文件信息

    千次阅读 2019-05-27 11:00:49
    使用Java keytool 工具: keytool -list -v -keystore '/home/zw/zw.jks' 然后输入key的密码就可查看到信息 : 可查看到的信息 如上,常用的是查看 SHA1,SHA256用于使用第三方SDK时填写应用信息。 ......
  • Flutter生成jks签名文件并打包apk

    万次阅读 2019-03-10 19:57:02
    创建 app签名keystore(jks)文件 在Terminal 下执行命令: keytool -genkey -v -keystore /D...其中/D:/key.jks 是签名文件的目录和名字,执行完就可以在当前目录下看到生成的签名文件,并设置签名的密码和配置信息...
  • 查看Android apk签名文件的信息

    千次阅读 2019-07-28 15:40:53
    #查看Android apk签名文件的信息: 查看签名文件比较简单,在cmd窗口下输入: keytool -list -v -keystore [jks/keystore] [jks/keystore]:表示jks文件或者keystore签名文件 运行命令后,输入密码即可 比如...
  • 1,查看APP是否签名 将APP文件后缀改为.zip并解压会得到以下内容;  CERT.RSA就包含签名信息 然后运行命令 keytool -printcert -file /Users/Documents/app-release/META-...2,查看自己签名文件里面的信息 ...
  • 本片文章只讲如何将签名文件配置在项目代码中。 如上图所示:在项目根目录下新建signing文件夹,并将签名文件放到该文件夹下。 依据上面配置后会在app目录下的build.gradle文件中生成: signing...
  • 切换至Android Studio的Terminal视图,然后cd到jdk目录下,该目录下有keytool.exe文件 输入命令:keytool -list -v -keystore D:\Android\Work\license\XXX.jks 并输入密码
  • 签名文件一键自动生成

    千次阅读 2017-03-15 14:33:46
    生成签名文件是android.keystore文件(-alias 后面就是签名文件) 参考Automatically generate keystore for android apk signing https://github.com/rapid7/metasploit-framework/pull/7263/files ...
  • Android 支付宝支付 签名文件

    千次阅读 2019-10-29 15:38:28
    最近的App里面需要支付,所以就看了下. 首先支付宝在申请条件时候,需要填写应用签名,所以百度了好多,解决的办法 1.下载这个,用于获取安装到手机的第三方应用签名的...2.在里面输入包名,即可生成签名文件.这就好了. ...
  • 安卓签名文件与MD5 SHA1 SHA256

    千次阅读 2018-11-27 16:06:07
    安卓应用发布到应用市场前,需要用签名文件打包。 第一步创建签名文件,方式很多,我就列举最简单的 Android studio =》build=》Generate Signed APK 左边的creat new 就是创建一个新的签名文件,choose ...
  • 项目只要打包生成Apk时,一定是需要签名文件的,当我们打debug包时只不过是默认的用了系统给的签名文件而已,如果我们想给自己的项目指定特定的签名文件改如何呢? 1.使用快捷键 Ctrl+Shift+Alt+S 弹出以下界面: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 342,714
精华内容 137,085
关键字:

签名文件