安卓7以后挺邀,證書需要系統(tǒng)級(jí)的信任才可以正常使用,而且證書的命名需要hash一下端铛。所以我們需要做的就是將下載的pem證書hash一下重命名,添加到安卓手機(jī)的系統(tǒng)證書下禾蚕,重啟一下。
準(zhǔn)備:
1.一部root的手機(jī)------小米max高配版 Android7.0
2.電腦openssl换淆,adb(主要是用來(lái)把文件push到手機(jī)系統(tǒng)文件中,但是我失敗了)---win10
3.手機(jī)下載mt管理器倍试、es文件管理器之類的軟件。
root方法很多县习,安卓7以下xposed+supersu涮母,安卓7以上使用edxposed+magisk叛本。
如果不想root,可以使用太極或者virtualxposed虛擬環(huán)境彤钟,但是這樣也不需要為證書煩惱了。
一逸雹、OpenSSL安裝
直接進(jìn)行安裝,可以選擇自定義文件夾峡眶。
openssl 或直接執(zhí)行 start C:\OpenSSL-Win64\bin\openssl.exe
#1. 證書轉(zhuǎn)換植锉,已經(jīng)是pem格式的證書不需要執(zhí)行這一步
openssl x509 -inform DER -in xxx.cer -out cacert.pem
#2. 進(jìn)行MD5的hash顯示
#openssl版本在1.0以上的版本的執(zhí)行這一句
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
#openssl版本在1.0以下的版本的執(zhí)行這一句
openssl x509 -inform PEM -subject_hash -in cacert.pem
在將文件rename或者直接重命名一下。
二俊庇、推送文件到手機(jī)
我在使用adb的時(shí)候出現(xiàn)了問(wèn)題,沒(méi)有足夠的root權(quán)限辉饱,安裝了adbd.apk個(gè)也沒(méi)有解決問(wèn)題,遂換了個(gè)方法彭沼。
直接連接手機(jī)打開(kāi)文件傳輸,把證書拖到一個(gè)文件夾中,也可以使用聊天軟件進(jìn)行傳輸褐奴,只要找到文件的存儲(chǔ)位置即可。
我用es文件管理器敦冬,把證書挪到 /system/etc/security/cacerts/ 文件夾內(nèi),修改權(quán)限為 -rw-r--r--
重啟手機(jī)即可
以下是adb push 文件到手機(jī)
adb root 正常的情況運(yùn)行
adb root
adb remount
adb push 8dad208c.0 /system/etc/security/cacerts/
如果出現(xiàn)問(wèn)題脖旱,可以嘗試如果解決方案:(反正我是沒(méi)成功)
···
1,驗(yàn)證你的手機(jī)是否已經(jīng)root了
adb shell
su
行命令后萌庆,$ 變?yōu)?# 即 表示root 成功
2,安裝adbd-insecure.apk
adb install adbd-insecure.apk
3践险,設(shè)置
打開(kāi)應(yīng)用將Enable insecure adbd 和 enable at boot 勾選上,設(shè)置好之后重進(jìn)鍵入:adb root即可
我第一個(gè) ? 老是error捏境。
4.再進(jìn)行上邊的正常操作
參考鏈接:
https://gaojiajun.cn/2018/08/charles-notTrust-in-android7.0/