當前位置:首頁 » 安卓系統 » 查看應用簽名android

查看應用簽名android

發布時間: 2022-07-02 21:20:33

① 如何獲取android 簽名信息

android中有時候需要獲取應用的簽名信息,簽名信息一般有:公鑰,演算法名,MD5值,序列號。要想獲取這些信息首先該APK應用要有系統許可權。

1. 在配置文件里添加系統許可權:android:sharedUserId="android.uid.system"

2. 獲取簽名信息的字元信息:

String signature_key = "";

try{

PackageInfo packageInfo = context.getPackageManager().getPackageInfo(pkgName,
PackageManager.GET_SIGNATURES);

Signature[] signatures =
packageInfo.signatures;

SignatureKey.parseSignature(signatures[0].toByteArray());

} catch (NameNotFoundException e) {

e.printStackTrace();

} catch (NullPointerException e) {

e.printStackTrace();

}

(1).其中packageInfo 得到的是指定包名的簽名信息的字元串。另提及多說一句:在程序中我們一般使用

List list =
mPackageManager.getInstalledPackages(0);來得到所有的安裝包的信息,這其中包括應用名,包名,大小....

(2).
其中[]signatures里是存放的簽名的字元串數組。我們一般取用第一個signatures[0]來做為該應用的簽名信息。這里有一個疑惑就是為什麼得到的是一個字元串的數組列表,而不是一個字元串,也有的開發者採用:

StringBuilder builder = new StringBuilder();

for(Signature sign: signatures
){
builder.append(sign.toCharsString());
builder.append("/n");
}來得到所有的簽名信息。在這里我驗證過,signatures
的長度為1,所以指定apk的簽名信息就為signatures[0]。

至於第二種方法有待發現。

3 .獲取簽名的MD5值

public static final String getMD5String(byte[] paramArrayOfByte)
{
char[] asciiTable = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
97, 98, 99, 100, 101, 102 }; // ascii表對應的數字和字元的編碼
try
{
MessageDigest md5MessageDigest =
MessageDigest.getInstance("MD5");
md5MessageDigest.update(paramArrayOfByte);//
byte[]
tempByte = md5MessageDigest.digest();
int i =
tempByte.length;
char[] tempChar = new char[i *
2];
int j = 0;
int k =
0;
while (true) { //
將二進制數組轉換成字元串
if (j >= i)
{
return new
String(tempChar);
}
int m
= tempByte[j];
int n = k +
1;
tempChar[k] = asciiTable[(0xF & m >>>
4)];
k = n +
1;
tempChar[n] = asciiTable[(m &
0xF)];
j++;
}
}
catch (Exception e)
{
e.printStackTrace();
}
return
null;
}

(1). 其中參數就是上一步得到的簽名的byte數組。

4. 獲取公鑰,簽名演算法,簽名序列號

public static void parseSignature(byte[] signature)
{
try
{
CertificateFactory
certFactory =
CertificateFactory.getInstance("X.509");

X509Certificate cert = (X509Certificate) certFactory.generateCertificate(new
ByteArrayInputStream(signature));

String pubKey =
cert.getPublicKey().toString(); //公鑰

String signNumber =
cert.getSerialNumber().toString();

System.out.println("signName:" +
cert.getSigAlgName());//演算法名

System.out.println("pubKey:" +
pubKey);

System.out.println("signNumber:" +
signNumber);//證書序列編號

System.out.println("subjectDN:"+cert.getSubjectDN().toString());

} catch (CertificateException e)
{

e.printStackTrace();
}
}

5. 電腦查看APK簽名信息

查看三方應用或是系統應用簽名
用winrar打開待查看的apk,將其中META-INF文件夾解壓出來,得到其中的CERT.RSA文件
1.keytool
-printcert -file META-INF/CERT.RSA
命令是:keytool -printcert -file
<簽名文件RSA的路徑>
2.jarsigner -verify -verbose -certs Superuser.apk
此條未驗證成功

② android 怎麼查看簽名文件

方法/步驟
對apk的簽名需要把項目導入到android
studio軟體中,進行點擊菜單中「build」選項,彈出的下拉菜單中的「generate
signed
apk」.
進入到generate
signed
apk中界面框中,因第一次對apk的簽名,就需要先創建簽名文件鑰匙,點擊」create
new「的按鈕。
進行選擇鑰匙保存的位置,指定到磁碟的位置,然後在文件昵稱填入,點擊「ok」的選項。
進入到new
key
store的界面中,根據界面中提示信息輸入內容信息,輸入完成之後點擊「ok」。
鑰匙創建完成之後,進行點擊"next下一步"操作。
在進入到這個界面中選擇apk生成保存的位置,然後在build
type中選擇release的選項,然後點擊「finish」的選項,這樣就生成到apk的保存路徑中。

③ 怎麼查看android app的簽名

To sign an Android APK from command line: Sign the APK with jarsigner (using default keystore, android-root is the alias of the signing key): $ jarsigner -signedjar HelloWorld-new.apk HelloWorld-debug-unaligned.apk android-root Enter Passphrase for keystore: password Verify signature (optional) $ jarsigner -verify -verbose -certs HelloWorld-new.apk Align the APK (must use -v 4 option): $ ~/android-sdk-linux_86/tools/zipalign -v 4 HelloWorld-new.apk HelloWorld-new-aligned.apk 查看原帖>>

④ 我的android項目已經生成了簽名但不知道這個簽名是什麼也不知在哪查看

簽名的apk自己無法查看,是安裝的時候android系統驗證用的。
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 demo.keystore */D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore/*說明:-verbose 輸出簽名的詳細信息 -keystore demo.keystore 密鑰庫位置 -signedjar demor_signed.apk demo.apk demo.keystore 正式簽名,三個參數中依次為簽名後產生的文件demo_signed,要簽名的文件demo.apk和密鑰庫demo.keystore.*/
注意事項:android工程的bin目錄下的demo.apk默認是已經使用debug用戶簽名的,所以不能使用上述步驟對此文件再次簽名。正確步驟應該是:在工程點擊右鍵->Anroid Tools-Export Unsigned Application Package導出的apk採用上述步驟簽名。

⑤ android 應用簽名怎麼獲取

方法/步驟
1
1 win7,開始菜單,搜索cmd

2
2 打開cmd

3
3 進入.android

4
4 使用命令keytool -list -v -keystore debug.keystore

5
5 需要安裝keytool,辦法是安裝jdk,網路搜索jdk並下載安裝;具體平台按實際情況選擇

6 安裝完畢,進入到jdk安裝bin目錄,並復制地址

7 回到cmd命令窗口,輸入cd + 空格,並在標題欄右側點擊粘貼

8 回車,進入到這個目錄

9 再次輸入keytool -list -v -keystore debug.keystore命令並回車,出現錯誤

10 先執行以下命令keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000

11 按提示輸入密碼(自己定),密保答案等;到後來需要重新再輸入密碼,生成完成

12 到keytool目錄下,看到debug.keystore已經生成成功

13 將這個文件復制到.android文件夾下

14 現在再次鍵入生成android簽名的命令:keytool -list -v -keystore debug.keystore,按提示輸入密碼,即可成功生成簽名

15 在標題欄右鍵選擇標記復制其中的SHA1的值,即為android的簽名

⑥ 怎樣查看android的apk文件的簽名

操作如下:

1,通過apktool工具解壓當前apk(比如:demo.apk),解壓後,會生成CERT.RSA文件
**** apktool d demo.apk。備註:通過這種方式解壓出來的Androidmenifest.xml文件可以通過文件編輯器打開查看

2,通過keytool命令獲取簽名信息
keytool -printcert -file C:-INFCERT.RSA所有者: CN=ryt, OU=ryt, O=ryt, L=nanjing, ST=china, C=cn發布者: CN=ryt, OU=ryt,O=ryt, L=nanjing, ST=china, C=cn

⑦ android studio怎麼看應用是否簽名

我們在使用Android Studio進行應用的發布時要進行簽名,本經驗將通過我的一個應用的簽名過程教大家如何簽名。
工具/原料
Android Studio
一個自己以前使用的key當然沒有可以自己生成一個
方法/步驟
第一步我們打開我們下載安裝好的Android Studio

然後我們選擇好了我們的要發布的項目選擇Build

然後選擇Generate Signed APK

然後可以選擇創建或者選擇一個已有的key,我這里選擇以前創建好的一個key文件

然後輸入密碼等信息,點擊next

然後點擊finish,選擇release版本

我們就可以看到生成的apk文件了,然後我們就可以把應用發布到各平台供人下載了

⑧ android studio怎麼查看apk 簽名

1、查看自己的應用簽名
可以通過兩種方式查看
(1) debug的apk通過Eclipse查看,
eclipse-view-signatures

(2) 某個keystore簽名的應用,通過
java

keytool -list -keystore E:\Trinea\keystore\appsearch.keystore
1
keytool -list -keystore E:\Trinea\keystore\appsearch.keystore
查看,會要求輸入簽名密碼,默認為android,
keytool-list-view-signatures

2、查看三方應用或是系統應用簽名
用winrar打開待查看的apk,將其中META-INF文件夾解壓出來,得到其中的CERT.RSA文件,通過
Java

keytool -printcert -file META-INF/CERT.RSA

keytool -printcert -file META-INF/CERT.RSA
命令列印證書信息,如微信證書信息
keytool-printcert-view-signatures
可以查看簽名的MD5、SHA1、SHA256值及簽名演算法
PS:網路地圖API需要簽名做為安全碼一部分實在有點不能理解,太麻煩了。

⑨ 如何查看android 應用簽名

1、查看自己的應用簽名可以通過兩種方式查看(1) debug的apk通過Eclipse查看,:

(2) 某個keystore簽名的應用,通過
Java
keytool -list -keystore E:\Trinea\keystore\appsearch.keystore
查看,會要求輸入簽名密碼,默認為android,:

2、查看三方應用或是系統應用簽名用winrar打開待查看的apk,將其中META-INF文件夾解壓出來,得到其中的CERT.RSA文件,通過
Java
keytool -printcert -file META-INF/CERT.RSA
命令列印證書信息,如微信證書信息:
可以查看簽名的MD5、SHA1、SHA256值及簽名演算法

⑩ 如何查看 android 數字簽名

用java命令查看,如下:
C:\jdk1.6.0_10\bin>jarsigner.exe -verify f:\ICBCAndroidBank.apk
jar 已驗證

什麼是數字簽名?

數字簽名就是為你的程序打上一種標記,來作為你自己的標識,當別人看到簽名的時候會知道它是與你相關的。

為什麼要數字簽名?

Android系統要求每一個Android應用程序必須要經過數字簽名才能夠安裝到系統中,也就是說如果一個Android應用程序沒有經過數字簽名,是沒有辦法安裝到系統中的!

Android通過數字簽名來標識應用程序的作者和在應用程序之間建立信任關系,不是用來決定最終用戶可以安裝哪些應用程序。

這個數字簽名由應用程序的作者完成,並不需要權威的數字證書簽名機構認證,它只是用來讓應用程序包自我認證的。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:639
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:368
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:84
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:310
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:793
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:344
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:212
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:812
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:366
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:592