android 录音原始文件_5分钟短文 | Android证书生成,签名,验证,虽然难,但学一次就够了!...
引言
從Android演進開始,APK簽名就已經(jīng)成為Android的一部分,并且android要求所有Apks都必須先簽名,然后才能將其安裝在設備上。關于如何生成密鑰以及如何簽名的文章很多。一個Apk,但我們將從安全角度進行研究。在對Apk文件進行反編譯或反向工程之后,應查看哪個文件,以獲取有關最初對應用進行簽名的開發(fā)人員的更多信息。
反編譯APK文件
解壓縮文件或使用apktool后,取決于如何對文件進行反編譯,如果解壓縮文件,則文件結構將如下所示。
我們正在查看META-INF文件夾,
正在查看使用Apktool進行的反編譯Apk,它在原始文件夾中包括有關開發(fā)人員的證書詳細信息以及所使用的哈希算法的類型等,并檢查META-INF文件夾。
當您當前仍位于META-INF文件夾中時,使用keytool檢查證書。
keytool -printcert -file DROIDRDR.RSA根據(jù)證書別名的名稱,從證書頒發(fā)之日和證書設置為過期起,您將看到所有者,國家/地區(qū),頒發(fā)者,證書有效性的不同信息。
MD5,SHA1和SHA256中的證書指紋以及所使用的簽名算法。
之前,我談論了生成證書,讓我們從安全角度來看它,在分析您從第三方網(wǎng)站下載的Android應用程序時,您可以反編譯該應用程序并查看該證書并將其與原始應用程序進行比較,在使用的哈希算法上,如果應用程序可能已被修改或篡改,則將其進行比較,我不會在談論分析APK文件,但可能會稍后。
生成Android證書
如果您反編譯并重新編譯android應用程序,則需要對應用程序進行簽名,如果不簽名,則該應用程序將不會安裝在用戶設備上。有多種生成證書的方法,但是,我們將介紹使用keytool生成證書的三種方法。
方法1:
打開您的終端:
keytool -genkey -v -keystore awwal -alias hafsa -keyalg RSA -keysize 2048 -validity 365其中 awwal —是密鑰庫名稱,hafsa是證書別名,使用后將被添加到META-INF文件夾-keysize 2048中,但是您可以使用4096大小,但是設備存在與此有關的問題或者。但僅使用2048,有效期為幾天。
方法2:
使用可在此處下載的apk-signer.jar。這是用Java編寫的GUI,可生成證書并進行簽名一個APK文件。盡管Playstore中也有一個Android應用程序。
簽署Android應用程序
在您已經(jīng)生成了Android應用程序之后,我們將研究如何對應用程序進行簽名,運行您的終端:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore awwal medium.apk hafsa其中-sigalg是使用的簽名算法,您可以使用MD5找到一些應用程序,但是在驗證應用程序時使用SHA1,因為它將告訴您使用的哈希算法以及使用的算法的弱度。
密鑰庫— awwal是生成證書時使用的密鑰庫名稱的名稱,hafsa是證書的別名,而medium.apk是要簽名的應用程序的名稱。
注意:如果您使用MD5,則該應用程序將被視為未簽名應用程序,因為用于簽署應用程序的算法很弱。
驗證Android應用程序
使用jarsigner驗證應用程序,以查看資源簽名列表以及具有keysize的哈希算法。
打開您的終端:
jarsigner -verify -verbose medium.apk其中僅驗證將顯示它是簽名還是未簽名,并使用詳細選項查看證書的完整詳細信息。
或者,您可以使用Apk簽名者來自動完成文件名驗證應用。
寫在最后
雖然上面我們使用的都是 java 工具鏈的東西,其實生成的 CERT.RSA 文件內,包含了公鑰鏈,也完全可以使用 openssl 工具打印出 pubkey 證書文件,并可做進一步的指紋校驗。
關鍵是生成簽名的方法,這個對于使用不同的工具復現(xiàn)過程很關鍵。
Happy coding :_)
我是 @程序員小助手 ,持續(xù)分享編程知識,歡迎關注。總結
以上是生活随笔為你收集整理的android 录音原始文件_5分钟短文 | Android证书生成,签名,验证,虽然难,但学一次就够了!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: U8普及版在win7系统中,UFO报表一
- 下一篇: android sina oauth2.