- Keytool:JDK中自帶(路徑:%JAVA_HOME%\bin)
- OpenSSL下載地址:http://slproweb.com/products/Win32OpenSSL.html
生成數(shù)字證書
- 命令行執(zhí)行:
keytool -genkey -alias [你的數(shù)字證書別名] -keyalg RSA -validity 36500 -keystore [你的密鑰庫文件名]
- 輸入密鑰庫口令(建議妥善記錄):
- 連續(xù)回車跳過幾個(gè)配置欣孤,輸入"y"確認(rèn)
- 輸入密鑰口令(如果保持和密鑰庫口令相同,按回車)
1贪婉、如果在 C:\User[你的計(jì)算機(jī)名] 下沒有 [你的密鑰庫文件名].keystore 文件旁舰,上述命令將在該目錄下新建一個(gè)
[你的密鑰庫文件名].keystore
文件(密鑰庫文件)
2、密鑰庫口令是訪問[你的密鑰庫]
的密碼纸肉,密鑰口令指的是[你的數(shù)字證書]
的密碼
列舉數(shù)字證書
- 命令行執(zhí)行:
keytool -list -keystore [你的密鑰庫路徑] 如:keytool -list -keystore C:\Users\XuRui\[你的密鑰庫文件名]
- 輸入密鑰庫口令
- 輸出結(jié)果:
密鑰庫類型: jks 密鑰庫提供方: SUN 您的密鑰庫包含 1 個(gè)條目 [你的數(shù)字證書別名], 2019-4-16, PrivateKeyEntry, 證書指紋 (SHA1): F3:D6:######:1B:F9
提取SHA1證書指紋
- 命令行執(zhí)行:
keytool -exportcert -list -v -alias [你的數(shù)字證書別名] -keystore [你的密鑰庫路徑] 如:keytool -exportcert -list -v -alias [你的數(shù)字證書別名]-keystore C:\Users\XuRui\[你的密鑰庫文件名]
- 輸入密鑰庫口令
- 輸出結(jié)果:
別名: [你的數(shù)字證書別名] 創(chuàng)建日期: 2019-4-16 條目類型: PrivateKeyEntry 證書鏈長(zhǎng)度: 1 證書[1]: 所有者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown 發(fā)布者: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown 序列號(hào): [序列號(hào)] 有效期為 Tue Apr 16 11:34:22 CST 2019 至 Thu Mar 23 11:34:22 CST 2119 證書指紋: MD5: 36:18:######:2D:65 SHA1: F3:D6:######:1B:F9 SHA256: D5:E3:######:36:1A 簽名算法名稱: SHA256withRSA 主體公共密鑰算法: 2048 位 RSA 密鑰 版本: 3 // 以下省略
提取密鑰散列
- 命令行執(zhí)行:
keytool -exportcert -alias [你的數(shù)字證書別名] -keystore [你的密鑰庫路徑] | openssl sha1 -binary | openssl base64 如:keytool -exportcert -alias [你的數(shù)字證書別名]-keystore C:\Users\XuRui\[你的密鑰庫文件名] | openssl sha1 -binary | openssl base64
- 輸入秘鑰口令
- 輸出結(jié)果:
8KC/######CuZ3=
APK簽名
- build.gradle中配置:
android{
...
signingConfigs {
release {//構(gòu)建變體名
keyAlias '[密鑰/數(shù)字證書別名]'
keyPassword '[密鑰密碼]'
storePassword '[密鑰庫密碼]'
storeFile file('release/[密鑰庫文件名]') //密鑰庫文件的相對(duì)于項(xiàng)目根目錄的路徑
}
}
}
查看APK簽名
- 用WinRAR等工具解壓apk嚎幸,進(jìn)入META-INF文件夾朗兵,其中RSA文件為簽名信息
- 命令行執(zhí)行:
keytool -printcert -file META-INF/[RSA文件名].RSA
- 輸出結(jié)果:
所有者: [所有者] 發(fā)布者: [發(fā)布者] 序列號(hào): [序列號(hào)] 有效期為 Sat Sep 25 15:37:04 CST 2010 至 Sun Jun 28 15:37:04 CST 2065 證書指紋: MD5: 84:6B:######:87:74 SHA1: 23:27:######:05:33 SHA256: BF:46:######:0A:B4 簽名算法名稱: SHA1withRSA 主體公共密鑰算法: 1024 位 RSA 密鑰 版本: 3
推薦閱讀
- Java | ThreadLocal 線程本地存儲(chǔ)
- Android | 文件存儲(chǔ)
- Android | 再按一次返回鍵退出
- Android | InputManagerService 與輸入事件采集
- 設(shè)計(jì)模式 | 靜態(tài)代理與動(dòng)態(tài)代理
- Cocos Creator | 封裝音頻池工具
- 筆記 | 使用 Markdown 高效率編寫文檔