當前位置:文書都 >

經典美文 >簽名 >

生成keystore簽名查看簽名信息的方法簡介

生成keystore簽名查看簽名信息的方法簡介

Android獨有的安全機制,除了權限機制外,另外一個就是簽名機制了。簽名機制主要用在以下兩個主要場合起到其作用:升級App和權限檢查。

生成keystore簽名查看簽名信息的方法簡介

升級App

用户在升級一款已經安裝過的App時,如果程序的修改來自於同一來源,則允許升級安裝,否則會提示簽名不一致無法安裝的'提示。

權限檢查

我曾在Android Permission權限機制的具體使用一文中提過,對於申請權限的 protection level 為 signature 或者 signatureOrSystem 的,會檢查權限申請者和權限聲明者的證書是否是一致的。

至於簽名機制的原理及其他作用,此不詳述,本文主要介紹,簽名文件key的生成、用key去簽名apk文件及查看簽名的方法。

生成keystore

創建keystore,需要用到 (位於jdk_xxjrebin目錄下),具體做法如下:

複製代碼 代碼如下:

keytool -genkey -alias mykey -keyalg RSA -validity 40000 -keystore tore

#説明:

# -genkey 產生密鑰

# -alias mykey 別名 mykey

# -keyalg RSA 使用RSA算法對簽名加密

# -validity 40000 有效期限4000天

# -keystore tore

對apk進行簽名

使用產生的keystore對apk簽名,使用到的是 ,該工具位於jdk_xxbin目錄下,命令如下:

複製代碼 代碼如下:

jarsigner -verbose -keystore tore -signedjar test_ mykey

# test_是簽名之後的文件

# 是需要簽名的文件

另外需要注意的是,如果你的jdk版本在1.7以上,你在對apk簽名時,需要加上這個參數:

複製代碼 代碼如下:

-digestalg SHA1 -sigalg MD5withRSA

否則同樣會出現:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]的錯誤。

查看簽名信息

1、查看keystore的信息

複製代碼 代碼如下:

keytool -list -keystore tore -alias mykey -v

2、查看keystore的公鑰證書信息

複製代碼 代碼如下:

keytool -list -keystore tore -alias mykey -rfc

(注:獲取Base64格式的公鑰證書,RFC 1421)

3、查看apk的簽名信息

複製代碼 代碼如下:

jarsigner -verify -verbose -certs

標籤: 簽名 查看 keystore
  • 文章版權屬於文章作者所有,轉載請註明 https://wenshudu.com/meiwen/qianming/q7lj732.html
專題