安卓 keystore 获得应用签名详细流程(快应用)

简介: 安卓 keystore 获得应用签名详细流程(快应用)

一、方式一:快应用获得 MD5

  • 如果有 keystore 证书可以跳过前三步,拆分证书获取 MD5 即可。没有的话则打开 快应用开发工具,点击菜单中的:工具 -》 生成证书 -》创建新的签名(按要求填写好信息),填写完了,点击完成,在根目录中会生成一个 sign 的证书文件夹,里面有 certificate.pemprivate.pem 两个文件。
  • 有了上面两个文件后,在次点击菜单中的:工具 -》 pem 证书转 keystore 证书,这是一个安卓签名证书,然后填写好 证书别名(Key alias)密钥库口令(Key store password)密钥口令(Key password),这几个参数跟重要,要记着备份。
  • 选择密钥类型:(选 JKS
    JKSPKCS12 都是比较常用的两种密钥库格式/标准,这两者之间是可以通过导入/导出的方式进行转换的,这种转换需要通过 KeyTool 工具进行。
    JKS 文件:通常为 *.jks*.keystore,扩展名无关,可以通过 Java 原生工具 KeyTool 生成。
    PKCS12 文件:通常为 *.p12*.pfx ,意味个人信息交换文件,则是通过更为常用的 OpenSSL 工具生成。
  • 点击完成后,在 sign 文件夹中会多出一个 *.keystore 的文件,这个就是安卓的签名证书了,附:收藏好这个 keystore 签名证书,很重要,也可以通过 keystore 证书拆分成 pem 证书,上面生成的菜单中有
  • 然后在次点击菜单中的:工具 -》 由证书生成 MD5,就获得应用签名了,复制即可!
  • 如果有 certificate.pem 证书,也可以通过 openssl 工具(maclinux 平台理论上自带,windows 需要自己去下载安装下)获得 MD5,获得后将 = 后面的字符串拿出来去掉冒号就是 MD5 应用签名。附:keystore 证书通过命令行拆分成 pem 证书,并获得 MD5
$ openssl x509 -noout -fingerprint -md5 -inform pem -in certificate.pem

二、方式二:安卓获取应用签名

  • keystore 证书都一样,可以通过安卓开发工具创建出来也是可以的,都是傻瓜式填信息就有了。
  • 记得安装 Java JDK,有 java 环境才能走下面的操作。
  • 有了 keystore 签名证书后,获取应用签名可以通过 命令行Android Studio 开发工具来获取。
  • 方式一:命令行获取应用签名
    1、命令行
$ keytool -v -list -keystore (路径)xxx.keystore
  • 2、就会输出下面这样的信息,也就是 xxx.keystore 解析后的信息。
密钥库类型: JKS
密钥库提供方: SUN
您的密钥库包含 1 个条目
别名: test_123
创建日期: 2022年9月21日
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: EMAILADDRESS=xxx@163.com, CN=DZM, OU=DZM, O=DZM, L=ShangHai, ST=ShangHai, C=ZH
发布者: EMAILADDRESS=xxx@163.com, CN=DZM, OU=DZM, O=DZM, L=ShangHai, ST=ShangHai, C=ZH
序列号: af3c29ad6be7c34c
生效时间: Wed Sep 21 11:24:27 CST 2022, 失效时间: Sat Sep 18 11:24:27 CST 2032
证书指纹:
SHA1: BB:7E:BF:A2:44:BD:53:E0:D0:67:83:69:EE:19:75:C0:21:75:2A:96
SHA256: B2:42:C1:F7:15:7E:33:09:6A:CD:AC:42:0F:2B:5B:64:B8:AE:16:E2:C8:AC:87:84:95:A4:00:6D:E2:B4:E7:AC
签名算法名称: SHA256withRSA
主体公共密钥算法: 4096 位 RSA 密钥
......
......
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore /Users/dengzemiao/Desktop/Project/qapp/duanju_kyy_haixing_vue/sign/sh.keystore -destkeystore /Users/dengzemiao/Desktop/Project/qapp/duanju_kyy_haixing_vue/sign/sh.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
  • 3、应用签名主要看 证书指纹 这项,证书加密算法主要分为 SHA1SHA256MD5,其中主要的就是 MD5,将 MD5(类似上面的 SHA1) 冒号后面的拷贝出来后,去掉中间的 : 然后转为小写就是应用签名了。
    举例:MD5: AC:3E:4F:5H...,取出后面得 AC:3E:4F:5H...,转成小写去掉冒号 ac3e4f5h... 这个就是应用签名。
    4、但是有时候这个签名证书证就没有 MD5 这个加密项,只有 SHA1SHA256 这两项,咋办?这种情况,可以使用 方式二:Android Studio 来辅助获取应用签名,也可以使用命令行 keystore 证书通过命令行拆分成 pem 证书,并获得 MD5 来获得。
  • 方式一Android Studio 获取应用签名
    1、流程: 通过 Android Studio 创建一个项目,然后再在使用 *.keystore 签名证书打一个 release apk 包,然后装到一台安卓手机上,在手机上使用签名工具获得安装的 apk 包应用签名
    2、安卓手机安装上 签名生成工具,下载 签名生成工具 apk 然后安装到手机上。
    测试使用:比如等下需要创建的空项目包名为 com.dzm.test,打开 签名生成工具,在输入框中输入包名 com.dzm.test,则会自动获取本机中对应包名的应用的 应用签名,现在还没装这个包名的 apk,所以获得到的就是个空 null
    3、打开 Android Studio 新建项目,然后新建一个空项目,重点是 包名,到时候会在手机上通过 包名 获得这个应用签名。

    4、新建项目完成后,然后就会进入到 Android Studio 中,这个时候直接打包即可,只需要一个空包就行,点击菜单中:Build -》Generate Signed Bundle / APK... -》选择 APK -》选择 keystore 证书输入密钥别名 -》选择 release 包导出 apk,导出 apk 后,安装到有 签名生成工具 的手机上。





    拿到这个 apk 后,然后安装到手机上,打开 签名工具 软件,输入刚才的包名,点击获取,就能得到这个对应包名的 应用签名 了。

辅助资料

相关文章
|
20天前
|
JSON Java Android开发
探索安卓开发之旅:打造你的第一个天气应用
【10月更文挑战第30天】在这个数字时代,掌握移动应用开发技能无疑是进入IT行业的敲门砖。本文将引导你开启安卓开发的奇妙之旅,通过构建一个简易的天气应用来实践你的编程技能。无论你是初学者还是有一定经验的开发者,这篇文章都将成为你宝贵的学习资源。我们将一步步地深入到安卓开发的世界中,从搭建开发环境到实现核心功能,每个环节都充满了发现和创造的乐趣。让我们开始吧,一起在代码的海洋中航行!
|
20天前
|
存储 搜索推荐 Java
打造个性化安卓应用:从设计到实现
【10月更文挑战第30天】在数字化时代,拥有一个个性化的安卓应用不仅能够提升用户体验,还能加强品牌识别度。本文将引导您了解如何从零开始设计和实现一个安卓应用,涵盖用户界面设计、功能开发和性能优化等关键环节。我们将以一个简单的记事本应用为例,展示如何通过Android Studio工具和Java语言实现基本功能,同时确保应用流畅运行。无论您是初学者还是希望提升现有技能的开发者,这篇文章都将为您提供宝贵的见解和实用的技巧。
|
24天前
|
搜索推荐 开发工具 Android开发
打造个性化Android应用:从设计到实现的旅程
【10月更文挑战第26天】在这个数字时代,拥有一个能够脱颖而出的移动应用是成功的关键。本文将引导您了解如何从概念化阶段出发,通过设计、开发直至发布,一步步构建一个既美观又实用的Android应用。我们将探讨用户体验(UX)设计的重要性,介绍Android开发的核心组件,并通过实际案例展示如何克服开发中的挑战。无论您是初学者还是有经验的开发者,这篇文章都将为您提供宝贵的见解和实用的技巧,帮助您在竞争激烈的应用市场中脱颖而出。
|
26天前
|
算法 Java 数据库
Android 应用的主线程在什么情况下会被阻塞?
【10月更文挑战第20天】为了避免主线程阻塞,我们需要合理地设计和优化应用的代码。将耗时操作移到后台线程执行,使用异步任务、线程池等技术来提高应用的并发处理能力。同时,要注意避免出现死循环、不合理的锁使用等问题。通过这些措施,可以确保主线程能够高效地运行,提供流畅的用户体验。
38 2
|
29天前
|
Java API Android开发
安卓应用程序开发的新手指南:从零开始构建你的第一个应用
【10月更文挑战第20天】在这个数字技术不断进步的时代,掌握移动应用开发技能无疑打开了一扇通往创新世界的大门。对于初学者来说,了解并学习如何从无到有构建一个安卓应用是至关重要的第一步。本文将为你提供一份详尽的入门指南,帮助你理解安卓开发的基础知识,并通过实际示例引导你完成第一个简单的应用项目。无论你是编程新手还是希望扩展你的技能集,这份指南都将是你宝贵的资源。
48 5
|
29天前
|
移动开发 Dart 搜索推荐
打造个性化安卓应用:从零开始的Flutter之旅
【10月更文挑战第20天】本文将引导你开启Flutter开发之旅,通过简单易懂的语言和步骤,让你了解如何从零开始构建一个安卓应用。我们将一起探索Flutter的魅力,实现快速开发,并见证代码示例如何生动地转化为用户界面。无论你是编程新手还是希望扩展技能的开发者,这篇文章都将为你提供价值。
|
1月前
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
78 6
|
30天前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
|
1月前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
Android面试高频知识点(4) 详解Activity的启动流程
27 3
|
1月前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
25 2