android签名

为App签名的其他方法

这一生的挚爱 提交于 2020-03-21 08:58:28
前一篇博客写了一种签名的方法,又在网上看到一篇更详尽的介绍App签名的方法。下面是这篇博客的内容。 1.签名的意义   为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。 2.签名的步骤   a.创建key   b.使用步骤a中产生的key对apk签名 3.具体操作    方法一: 命令行下对apk签名(原理)   创建key,需要用到keytool.exe (位于jdk1.6.0_24\jre\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于jdk1.6.0_24\bin目录下),把上两个软件所在的目录添加到环境变量path后,打开cmd输入 D:\>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore /*说明:-genkey 产生密钥 -alias demo.keystore 别名 demo.keystore -keyalg RSA 使用RSA算法对签名加密 -validity 40000 有效期限4000天 -keystore

重新签名APK文件

落爺英雄遲暮 提交于 2020-03-15 06:30:08
1. 生成 Android APK 包签名证书 1). 在doc中切换到jdk的bin目录 cd C:\Program Files\Java\jdk1.6.0_18\bin 2). 运行下面的命令 keytool –genkey –alias android123.keystore –keyalg RSA –validity 20000 –keystore android123.keystore /* 解释: keytool工具是Java JDK自带的证书工具 -genkey参数表示:要生成一个证书(版权、身份识别的安全证书) -alias参数表示:证书有别名,-alias mine.keystore表示证书别名为:mine -keyalg RSA表示加密类型,RSA表示需要加密,以防止别人盗取 -validity 20000表示有效时间20000天( K3 -keystore mine123.keystore表示要生成的证书名称为mine123 */ 输入完回车后屏幕显示: 输入keystore密码:[密码不回显](一般建议使用20位,最好记下来后面还要用) 再次输入新密码:[密码不回显] 您的名字与姓氏是什么? [Unknown]:lili 您的组织单位名称是什么? [Unknown]: snoopy 您的组织名称是什么? [Unknown]:snoopy team

对apk进行数字签名

半腔热情 提交于 2020-03-15 06:29:32
APK签名用处主要有两种:   1. 使用特殊的key签名可以获取到一些不同的权限。   2. APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉,这个很有用哦。   目前Google在Android系统方面的态度和策略也都是非盈利性质的,和Symbian的签名有本质的区别,而我们使用Eclipse+ADT插件从开发环境安装到手机中的APK文件已经包含了ADT插件的Debug签名文件,所以没有安装,但是最终发行的版本需要自己的key去签名。 (1)必备工具:Sun官方网站下载JDK,安装后产生的keytool和jarsigne两个系统工具。 http://java.com/zh_CN/download/installed.jsp 安装后到(2) 而对于两个工具和keystore的介绍请看: jdk工具keytool和jarsigner帮助Part1(jdk keytool&jarsigner tool manual) 和 jdk工具keytool和jarsigner帮助Part2(jdk keytool&jarsigner tool manual) (2)生成keystore cmd下:   进入到jdk的bin目录,这样的话,android.keystore文件就会生成在这个目录下

远程办公需要更新程序,没有硬件Ukey怎么办?

久未见 提交于 2020-03-10 11:34:52
新年伊始,新冠病毒疫情爆发,为了严防疫情扩散,多数企业选择远程办公的方式。虽然远程办公安全便捷,然而一些棘手的突发状况还是发生了…… 面对疫情,因为操作人员被“隔离”,硬件Ukey无法做异地数字签名验证导致产品延迟发布的囧境,着实令人无奈。有没有办法能够解决他们的烦恼呢? VSign,特殊时期,帮助企业做到 云端和共享签名服务 足不出户,也能远程战“疫”! 亚洲诚信经过多年研究,不断优化产品功能、打磨产品细节,自主研发“VSign”代码签名解决方案完美实现跨平台跨地区畅享秒签、隔空签、多人签,保护因代码签名管理不善而造成的重大财务损失以及品牌损害。完全不必担忧代码可见性,其敏捷性和可信赖的安全性,在高度安全的加密机内保护您的密钥,以保护应用程序的生命周期和销售。 VSign作为一款云端代码签名SaaS平台。区别于普通上传文件方式用极少流量即可实现大文件签名,安全性和高效性提高至90%!帮助企业可以更从容地面对不可预知的变化趋势与潜在安全风险,并最终实现业务增长的目标。 跨地区跨部门多人签名 VSign 解决多地区多部门需要同时使用同一张证书签名的难题,不仅保护证书和私钥的安全,而且所有的签名活动都是可追踪的,确保问责制和合规性。完美实现随时随地,安全可信! 共享证书实现隔空签名 云端服务器通过令牌实现证书共享,证书拥有者不必担心证书的安全问题

Android Studio 打包时 Signature Version 选择 V1 V2 说明

不羁岁月 提交于 2020-03-10 08:18:43
问题描述(v1和v2) Android 7.0中引入了APK Signature Scheme v2,v1是jar Signature来自JDK V1:应该是通过ZIP条目进行验证,这样APK 签署后可进行许多修改 - 可以移动甚至重新压缩文件。 V2:验证压缩文件的所有字节,而不是单个 ZIP 条目,因此,在签名后无法再更改(包括 zipalign)。正因如此,现在在编译过程中,我们将压缩、调整和签署合并成一步完成。好处显而易见,更安全而且新的签名可缩短在设备上进行验证的时间(不需要费时地解压缩然后验证),从而加快应用安装速度。 解决方案一 v1和v2的签名使用 1)只勾选v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式 2)只勾选V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证 3)同时勾选V1和V2则所有机型都没问题 解决方案二 在app的build.gradle的android标签下加入如下 [java] view plain copy signingConfigs { debug { v1SigningEnabled true v2SigningEnabled true } release { v1SigningEnabled true v2SigningEnabled true } } 官方解释: 个人建议:

Android权限共享UID和签名

我们两清 提交于 2020-02-29 14:42:13
共享UID 安装在设备中的每一个Android包文件(.apk)都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。 通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中.所以默认就是可以互相访问任意数据. 也可以配置成运行成不同的进程, 同时可以访问其他APK的数据目录下的数据库和文件.就像访问本程序的数据一样. 对于一个APK来说,如果要使用某个共享UID的话,必须做三步: 1、在Manifest节点中增加android:sharedUserId属性。 2、在Android.mk中增加LOCAL_CERTIFICATE的定义。 如果增加了上面的属性但没有定义与之对应的LOCAL_CERTIFICATE的话,APK是安装不上去的。提示错误是:Package com.test.MyTest has no signatures that match those in shared user android.uid.system; ignoring!也就是说,仅有相同签名和相同sharedUserID标签的两个应用程序签名都会被分配相同的用户ID。例如所有和media

Android8.1 以上静默安装实现

雨燕双飞 提交于 2020-02-28 09:46:31
前提是你已经拥有了当前 android 设备的系统签名,比如定制设备开发 一、获取系统签名 jks 文件 在 android 源码目录下路径 build/target/product/security/ 下,存在 platform.pk8、platform.x509.pem 这两货就是我们平常说的系统签名,有了系统签名再给app增加 android.uid.system 属性,app就变成了系统级app。 当我们在 AndroidManifest.xml 中增加了 uid 属性,AS 就无法直接运行安装调试了,会出现如下错误 The application could not be installed: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE Installation failed due to: ‘no signatures that match those in shared user android.uid.system;’ 我们一般都需要先打包app,然后在用 signapk.jar 给app签名后再安装运行,这样调试起来就很繁琐。那么我们就来生成一个 platform.jks,直接在AS中就能Run起来。 在 build/target/product/security/ 路径下,执行下面三条指令 openssl pkcs8 -

android签名

别来无恙 提交于 2020-02-27 15:52:24
最近乐固只能线上加固,然后自己再拿着加固后的apk自己签名,记录一下签名步骤: 1.把已加固的apk文件后缀名改为zip 2.使用压缩软件打开,删除其中的META-INF文件夹 3.把后缀名改回apk 4.把得到的apk文件和签名所需的key.store文件放入一个文件夹 5.打开cmd,定位到上一步所说的文件夹 6.执行命令jarsigner -verbose -keystore key.store -storepass keystore密码 -signedjar 签名后生成的app.apk -digestalg SHA1 -sigalg MD5withRSA 需签名的app.apk keyalias名称 7.回车完成 来源: CSDN 作者: qq_38122029 链接: https://blog.csdn.net/qq_38122029/article/details/104534839

Android apk签名查看

≯℡__Kan透↙ 提交于 2020-02-04 04:39:18
cd 到 Android sdk目录下面 apksigner verify -v (apk目录) C:\Users\admin\AppData\Local\Android\Sdk\build-tools\28.0.3>apksigner verify -v E:\work\workRecord\apk\生产\加固\jsbank510.apk 来源: CSDN 作者: weixin_40315625 链接: https://blog.csdn.net/weixin_40315625/article/details/104156480

APK打包过程

元气小坏坏 提交于 2020-02-02 04:08:55
APK构建打包过程 通过aapt打包res资源文件,生成R.java、resources.arsc和res文件(二进制 & 非二进制如res/raw和pic保持原样) 处理.aidl文件,生成对应的Java接口文件 通过Java Compiler编译R.java、Java接口文件、Java源文件,生成.class文件 通过dex命令,将.class文件和第三方库中的.class文件处理生成classes.dex 通过apkbuilder工具,将aapt生成的resources.arsc和res文件、assets文件和classes.dex一起打包生成apk 通过Jarsigner工具,对上面的apk进行debug或release签名 通过zipalign工具,将签名后的apk进行对齐处理。 工具介绍: 工具 描述 aapt/aapt2 Android资源打包工具 aidl Android接口描述语言转换为跨进程通信.java文件的工具 javac Java编译器 proguard 代码混淆工具 dx/d8 转化.class文件为Davik VM能识别的.dex文件 apkbuilder 打包生成apk jarsinger 签名工具 zipalign 字节码对齐优化工具 资源编译流程 AAPT: Android Asset Packaging Tool 资源合并 资源文件编译