Android簽名機制介紹:生成keystore、簽名、查看簽名信息等方法
Android獨有的安全機制,除了權(quán)限機制外,另外一個就是簽名機制了。簽名機制主要用在以下兩個主要場合起到其作用:升級App和權(quán)限檢查。
升級App
用戶在升級一款已經(jīng)安裝過的App時,如果程序的修改來自于同一來源,則允許升級安裝,否則會提示簽名不一致無法安裝的提示。
權(quán)限檢查
我曾在Android Permission權(quán)限機制的具體使用一文中提過,對于申請權(quán)限的 protection level 為 signature 或者 signatureOrSystem 的,會檢查權(quán)限申請者和權(quán)限聲明者的證書是否是一致的。
至于簽名機制的原理及其他作用,此不詳述,本文主要介紹,簽名文件key的生成、用key去簽名apk文件及查看簽名的方法。
生成keystore
創(chuàng)建keystore,需要用到keytool.exe (位于jdk_xx\jre\bin目錄下),具體做法如下:
keytool -genkey -alias mykey -keyalg RSA -validity 40000 -keystore demo.keystore
#說明:
# -genkey 產(chǎn)生密鑰
# -alias mykey 別名 mykey
# -keyalg RSA 使用RSA算法對簽名加密
# -validity 40000 有效期限4000天
# -keystore demo.keystore
對apk進行簽名
使用產(chǎn)生的keystore對apk簽名,使用到的是jarsigner.exe ,該工具位于jdk_xx\bin目錄下,命令如下:
jarsigner -verbose -keystore demo.keystore -signedjar test_signed.apk test.apk mykey
# test_signed.apk是簽名之后的文件
# test.apk是需要簽名的文件
另外需要注意的是,如果你的jdk版本在1.7以上,你在對apk簽名時,需要加上這個參數(shù):
-digestalg SHA1 -sigalg MD5withRSA
否則同樣會出現(xiàn):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 <your_apk_path.apk>
相關(guān)文章
Kotlin協(xié)程之Flow觸發(fā)與消費示例解析
Kotlin協(xié)程中,當需要消費流時,會調(diào)用collect方法,觸發(fā)流的消費,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09
Android自定義View實現(xiàn)帶音效和震動的SeekBar
這篇文章主要為大家詳細介紹了Android如何自定義View實一個帶音效和震動的SeekBar,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
Flutter加載圖片流程MultiFrameImageStreamCompleter解析
這篇文章主要為大家介紹了Flutter加載圖片流程MultiFrameImageStreamCompleter示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04
Android編程實現(xiàn)在adapter中進行數(shù)據(jù)操作的方法
這篇文章主要介紹了Android編程實現(xiàn)在adapter中進行數(shù)據(jù)操作的方法,結(jié)合實例形式分析了Android基于adapter操作數(shù)據(jù)的相關(guān)步驟與實現(xiàn)技巧,需要的朋友可以參考下2017-02-02
Android使用Recyclerview實現(xiàn)圖片水平自動循環(huán)滾動效果
這篇文章主要為大家詳細介紹了Android使用Recyclerview實現(xiàn)圖片水平自動循環(huán)滾動效果,實現(xiàn)精彩的跑馬燈效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
Android App仿QQ制作Material Design風(fēng)格沉浸式狀態(tài)欄
這篇文章主要介紹了Android App仿QQ制作Material Design風(fēng)格沉浸式狀態(tài)欄的實例,同時也給出了4.4版本下實現(xiàn)效果與5.0的對比,需要的朋友可以參考下2016-04-04

