A. uniapp安卓生成簽名證書
安裝JRE環境 建議低版本 轉自https://ask.dcloud.net.cn/article/35777
使用keytool -genkey命令生成證書:
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
testalias是證書別名,可修改為自己想設置的字元,建議使用英文字母和數字
test.keystore是證書文件名稱,可修改為自己想設置的文件名稱,也可以指定完整文件路徑
36500是證書的有效期,表示100年有效期,單位天,建議時間設置長一點,避免證書過期
JKS 密鑰庫使用專用格式。建議使用 " keytool -importkeystore -srckeystore android_cac.keystore -destkeystore android_cac.keystore -deststoretype pkcs12 " 遷移到行業標准格式 PKCS12。
B. 如何用Android 源碼生成APK簽名文件
我們很多應用需要用到系統簽名,可以通過生成系統簽名文件,在生成apk時使用這個簽名,然後可以安裝到機器中,不需要放在源碼里編譯,重新刷系統。
先附上 50和 20機器人通用的debugkey(圖已經省略)
在linux環境中,以Android源碼目錄為根目錄。
其中的platform.pk8是製作系統簽名需要的文件。
1、在這個目錄下,執行
生成臨時文件platform.pem
2、接著執行以下命令,將在目錄下生成platform.p12文件,它本質上應該就是一個數字證書
3、然後再執行以下命令出現以下信息,表示成功生成platform.jks
這個名字可以改成debug.keystore. 它的後綴本身是沒有關系,eclipse和AS都識別 platform.jks
4、然後在打包 apk 的時候選擇platform.jks文件,就可以直接用adb命令安裝apk到機器中了。
xxxx表示需要安裝的apk路徑
5、簽名的 Key store password和Key password都是android
C. android手機如何導入CA證書
1、打開手機「設置」里的「安全與隱私」,如下圖所示。
D. 安卓7.0以上手機寫入系統證書
記錄一場手動寫入系統證書
谷歌在安卓7.0修改了安全策略,用戶添加的CA證書不能再用於安全連接,對於https傳輸的數據就抓取不到了,會顯示<unknown>。
我的解決方法是將charles的CA證書安裝進系統信任的證書目錄下,這樣在開啟charles代理的時候,系統就會認為CA證書安全,從而可以獲取https數據。
用 「openssl x509 -inform PEM -subject_hash_old -in charles-ssl-proxying-certificate.pem」計算出hash值,並將後綴設為0
生成hash後,替換對應名稱重新生成文件
//cer格式
openssl x509 -inform DER -text -in xxx.cer > 0dd2455e.0
//pem格式
openssl x509 -inform PEM -text -in xxx.pem > 0dd2455e.0
然後通過設置charles代理就可以查看到https的數據了。
E. 如何生成android的BKS證書
android 系統中使用的證書要求以BKS的庫文件結構保存,通常情況下,我們使用java的keytool只能生成jks的證書庫,如果生成BKS的則需要下載BC庫,如是JDK1.6則下載bcprov-jdk16-141.jar,且將該文件放到jdk1.6.0_03\jre\lib\ext目錄下,然後運行以下命令即可以生成BKS的證書庫和相應的證書。
keytool -genkey -alias <別名> -keypass <密鑰口令> -keyalg RSA -keysize 1024 -validity 365 -keystore <庫文件名,如runcerts.keystore> -storepass <證書庫密碼> -dname "cn=runtestuser3, ou=vpn, o=run, c=CN, l=shanghai" -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
或是:
keytool -import -alias serverkey -file server.crt -keystore tclient.bks -
storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
頂
1
踩
android 系統中使用的證書要求以BKS的庫文件結構保存,通常情況下,我們使用java的keytool只能生成jks的證書庫,如果生成BKS的則需要下載BC庫,如是JDK1.6則下載bcprov-jdk16-141.jar,且將該文件放到jdk1.6.0_03\jre\lib\ext目錄下,然後運行以下命令即可以生成BKS的證書庫和相應的證書。
keytool -genkey -alias <別名> -keypass <密鑰口令> -keyalg RSA -keysize 1024 -validity 365 -keystore <庫文件名,如runcerts.keystore> -storepass <證書庫密碼> -dname "cn=runtestuser3, ou=vpn, o=run, c=CN, l=shanghai" -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
或是:
keytool -import -alias serverkey -file server.crt -keystore tclient.bks -
storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
頂
1
踩
F. 記一次Android模擬器安裝系統證書
用到的工具
1、雷電模擬器android5.1版本,開啟root
2、openssl
3、adb
4、fiddler
生成證書
1、打開fiddler - options - https - actions
2、選擇Export Root Certificate to Desktop,將證書保存到桌面
3、我生成的證書名是FiddlerRoot.cer(證書名稱後面會用到
#1. 證書轉換,已經是pem格式的證書不需要執行這一步
In:openssl x509 -inform DER -in FiddlerRoot.cer -out cacert.pem
#2. 進行MD5的hash顯示
#openssl版本在1.0以上的版本的執行這一句
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
#openssl版本在1.0以下的版本的執行這一句
openssl x509 -inform PEM -subject_hash -in cacert.pem
# window重命名 為符合android規范名稱
ren cacert.pem 269953fb.0
# 或 linux重命名
cp cacert.pem 269953fb.0
#傳入手機
adb push 269953fb.0 /sdcard
#獲取手機的root許可權
adb shell
#掛載系統目錄為可寫
mount -o rw,remount /system
mv /sdcard/269953fb.0 /system/etc/security/cacerts
#修改證書許可權
chmod 644 /system/etc/security/cacerts/269953fb.0
如果沒有意外的話,運行結束後,證書就已經安裝到系統證書中了,可以在模擬器中查看到。
遇到的問題
adb devices offline
adb版本太低
升級adb
G. 在線生成安卓證書
很多app打包工具自帶開發證書,但是那是公共的證書,假如其他APP也用了這個證書,你的APP就會跟別的APP發生沖突,因此上架APP前,必須更換成自己的證書。
假如使用java的命令行工具也可以生成證書,但是比較麻煩,這里提供一種方便的方式生產安卓證書,可以在線生成:
https://www.yunedit.com/createcert
輸入證書密碼等信息就可以生成證書了。
H. 如何生成Android的簽名證書
cmd命令生成android簽名證書,有空在寫一篇eclipse導出帶簽名的apk,這裡麵包括生成新的簽名。現在還是講講在cmd怎麼操作生成簽名證書。
1、dos下進入JDK的bin目錄
運行如下命令:keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
(-validity 20000代表有效期天數),命令完成後,bin目錄中會生成android.keystore
示例:
C:\Program Files (x86)\Java\jdk1.8.0_25\bin>
keytool -genkey -alias test.keystore -keyalg RSA -validity 20000 -keystore d:\test.keystore
ps:-alias test 生成的keystore別名,-keyalg RSA 加密和數字簽名的演算法,-validity 20000 有效天數
輸入密鑰庫口令:123456
再次輸入新口令:123456
您的名字與姓氏是什麼?
[Unknown]: rob
您的組織單位名稱是什麼?
[Unknown]: abc
您的組織名稱是什麼?
[Unknown]: abc
您所在的城市或區域名稱是什麼?
[Unknown]: guangzhou
您所在的省/市/自治區名稱是什麼?
[Unknown]: guangzhou
該單位的雙字母國家/地區代碼是什麼?
[Unknown]: cn
CN=rob, OU=abc, O=abc, L=guangzhou, ST=guangzhou, C=cn是否正確?
[否]: y
輸入 <test> 的密鑰口令
(如果和密鑰庫口令相同, 按回車):
如果沒有錯誤則回去查看D盤根目錄下,多了test.keystore
所以第一次輸入的是,密鑰庫的密碼。
最後輸入時密鑰別名的密碼。到這里生成簽名就搞定啦。
2、查看md5指紋驗證
輸入keytool -list -v -alias androiddebugkey -keystore 再加上剛剛從紅色框中復制出來的內容
我這里的就是keytool -list -v -alias androiddebugkey -keystore C:\Users\ZLQ\.android\debug.keystore了,回車
-alias androiddebugkey 這個是別名
-keystore C:\Users\ZLQ\.android\debug.keystore 具體位置的密鑰庫
要求輸入密碼,密碼是android,至此就可以拿到MD5認證指紋了
I. Android自有證書生成指南
Android部署打包apk應用,需要用上數字證書進行簽名,來表明身份的。
安卓證書可以使用Java的keytool工具生成,以下是window平台生成的方法:
一、安裝java
可訪問Oracle官方去安裝java: https://www.java.com/zh_CN/download/win10.jsp
下面已安裝目錄「C:UsersxabscDownloadsjdk-16.0.1」為例,實際操作請修改自己的安裝目錄
安裝java完成後,打開安裝目錄,找到bin文件夾,如果裡面有keytool.exe這個文件,那麼下面的安卓證書就能搞了
注意:1. testalias是證書別名,可修改為自己想設置的字元,建議使用英文字母和數字
2. test.keystore是證書文件名稱,可修改為自己想設置的文件名稱,也可以指定完整文件路徑
J. flutter 安卓簽名證書生成
1. keystore 的生成
=>
2.安卓工程配置 keystore
1. key.properties 內容
2. app build.gradle