2020-03-20 15:21
出處:别的
创作者:佚名
小编:linshaomin
转化成keystore签名查看签名信息的方式介绍
Android特有的安全性机制,除开权限机制外,此外一个便是签名机制了。签名机制关键用在下列2个关键场所具有其功效:升級App和权限查验。
升級App
客户在升級一款早已安裝过的App时,假如程序流程的改动来自于同一来源于,则容许升級安裝,不然会提醒签名不一致无法安装的提醒。
权限查验
我曾经在Android Permission权限机制的实际应用一文中提及,针对申请办理权限的 protection level 为 signature 或是 signatureOrSystem 的,会查验权限申请人和权限声明者的资格证书是不是一致的。
对于签名机制的基本原理以及他功效,此不详细描述,文中关键详细介绍,签名文档key的转化成、用key去签名apk文件及查看签名的方式。
转化成keystore
建立keystore,必须采用keytool.exe (坐落于jdk_xxjrebin文件目录下),具体方法以下:
复制代码 编码以下:
keytool -genkey -alias mykey -keyalg RSA -validity 40000 -keystore demo.keystore
#表明:
# -genkey 造成密匙
# -alias mykey 别称 mykey
# -keyalg RSA 应用RSA算法对签名数据加密
# -validity 40000 有效期4000天
# -keystore demo.keystore
对apk开展签名
应用造成的keystore对apk签名,应用到的是jarsigner.exe ,该专用工具坐落于jdk_xxbin文件目录下,指令以下:
复制代码 编码以下:
jarsigner -verbose -keystore demo.keystore -signedjar test_signed.apk test.apk mykey
# test_signed.apk是签名以后的文档
# test.apk是必须签名的文档
此外必须留意的是,假如你的jdk版本在1.7之上,你一直在对apk签名时,必须再加这一主要参数:
复制代码 编码以下:
-digestalg SHA1 -sigalg MD5withRSA
不然一样会出現:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]的不正确。
查看签名信息
1、查看keystore的信息
复制代码 编码以下:
keytool -list -keystore demo.keystore -alias mykey -v
2、查看keystore的公匙资格证书信息
复制代码 编码以下:
keytool -list -keystore demo.keystore -alias mykey -rfc
(注:获得Base64文件格式的公匙资格证书,RFC 1421)
3、查看apk的签名信息
复制代码 编码以下:
jarsigner -verify -verbose -certs
文章转载自网络,如有侵权,请联系api@1dq.com删除