android獲取應用簽名
㈠ 如何對Android的APP進行簽名
1、在Android Studio中打開工程,點擊「Build」菜單下的「Generate Signed APK」。
㈡ 通過AndroidStudio獲取簽名文件信息
1、查看apk安姿閉乎裝文件的簽名信息
右鍵解壓apk,態源打開其中的META-INF文件,得到其中的CERT.RSA文件。
在AndroidStudio中打開 Terminal 執行命令keytool -printcert -file XXX(XXX為CERT.RSA文件路跡悉徑)可以查看簽名的MD5、SHA1、SHA256值。
2、直接查看簽名文件的信息
在AndroidStudio中打開 Terminal 執行命令keytool -list -v -keystore XXX(XXX為簽名文件路徑)
再輸入密碼可以查看簽名的MD5、SHA1、SHA256值。
效果圖:
㈢ 獲取Android應用簽名的幾種方式
打開 Android Studio,然後選擇右邊的 Gradle 標簽,選擇一則老個項目,然後選擇 signingReport 這個 Task,雙擊運行
然後選擇右下角的 Gradle Console,就可以看到簽名信息了
使用解壓工具解壓 APK 文件,在 META-INF 文件夾拿到 CERT.RSA 文件。假設 CERT.RSA 文件的路徑是 C:\Users\Administrator\Desktop\CERT.RSA 。在 CMD 中輸入
就可以得到簽名信息了
jks 作為簽名文件,也可以通過命令行來查看的其中的簽名跡盯帆信姿雹息,假設簽名文件的名稱是 test_release.jks ,在終端中輸入
即可得到簽名信息
㈣ Android apk 系統簽名
因工作需要對系統的wifi和乙太網進行配置,需要獲取到系統許可權以後才能進行操作,因此研究了下對apk 進行系統簽名以獲取系統許可權,其實本來打算如果root可以的話直接通過root的方式(設備已經root),後來找了半天發現沒有api進行修改,無奈只能進行系統簽名了,有童鞋知道root方式修改不妨告訴我一下。
這些文件可以問系統廠商獲取,如果是原生系統可以到系統源碼目錄下獲取。
如果報以下的錯誤 ,這時候就用到准備的libconscrypt_openjdk_jni.so 文件
為了檢測我們的應用是否已經簽名成功 可以獲取系統許可權,看看能否獲取到。
結果:
在上一種方式中,我們成功對我們的apk進行了系統簽名,並且能使用系統許可權,但是必須每次打包出apk再進行簽名 對調試很不方便,下面我們可以生成帶有系統簽名的簽名文件,在項目中使用,就不需要每次手動進行簽名。
bubble可以替換為自己喜歡的名稱,這一步要輸入密碼,我嘗試輸入其他不行,只能輸入android。
bubble 可替換為自己喜歡的password和alias
到這里 兩種對app進行系統簽名的方式完成,如有不足,歡迎指出.
㈤ android怎樣獲取應用簽名信息
工具/原料
Android手機系統
Android如何查看應用簽名信息
1
1、查看自己的應用簽名可以通過兩種方式查看(1) debug的apk通過Eclipse查看,如下圖:
2
(2) 某個keystore簽名的應用,通過
Java
1
keytool -list -keystore E:\Trinea\keystore\appsearch.keystore
查看,會要求輸入簽名密碼,默認為android,如下圖:
3
2、查看三方應用或是系統應用簽名用winrar打開待查看的apk,將其中META-INF文件夾解壓出來,得到其中的CERT.RSA文件,通過
Java
1
keytool -printcert -file META-INF/CERT.RSA
命令列印證書信息,如微信證書信息如下圖:
4
可以查看簽名的MD5、SHA1、SHA256值及簽名演算法
㈥ 如何獲取android app的簽名
方法/步驟
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 應用簽名怎麼獲取
方法/步驟
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 微信開放平台,如何獲取應用簽名
在微信開放平台申請app應用的時候,遇到要填寫 應用簽名 一欄。
找到簽名文件
keytool -list -v -keystore xxx.keystore
證書指紋節點下岩卜彎的MD5值轉成小寫,去掉冒號。
首先跟隨 生成keystore和應用簽名 ,生成 .jks 簽名文件,
然後跟隨 微信開放平台Android應用簽名的本質及如何獲取 的第三、四步,生成帶簽名的apk,並用專門的工具查看應用簽名。
最後用工具查看到應用簽名後,我們發現,其實它就是keystore文件的MD5值。
這樣,我們就能夠 查看應用簽名了
如果你在 修改簽名 後,進入微信授權頁面失敗,且提粗悶示"應用簽名與微信開放平台上的簽名不一致",有可能是 微信緩存 的緣故。
根據 android之微信開放平台修改簽名 ,只要清理微信緩存,或重裝微信即可。
接下來還有一個問題沒解決:
解決方法參考 Android Studio直接運行調試簽名包
但這樣的做法會顯示暴露keystore信息,所以跟隨 Android Studio的兩種模式及簽名配置 的後半部分,可以讓弊螞項目間接引入keystore信息。
㈨ 獲取Android應用簽名
查看 jks 文件的簽名
jks 作為簽名文件,也可以通過命令行來孫升查看的其中的簽名信息,假設簽名文件的名稱是 yanbo.jks,window + R 輸入 cmd 進入命令行 ,前進到 .jks 所在的文件夾中則銀老 在終端中輸入
輸入簽名文件對應的密碼
進入命令行中
前進到搏孝 C:\Users\Administrator.android
文件夾中輸入
密碼 android
㈩ 如何獲取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
此條未驗證成功