Android(cacerts.bks)新增根證書
Android(cacerts.bks)新增根證書
Android系統中CA證書檔案的位置在:/system/etc/security/cacerts.bks
注意:Android 2.2官方系統中是沒有CNNIC SSL這個證書的,這是因為中國網路環境原因而沒有內建的。
如果是你是使用國行版的Android手機,可訪問https://www.enum.cn 檢查是否內建了CNNIC的CA,如果有的話,你可以使用原版cacerts.bks,這個檔案所有android系統通用。
以下是匯入CA檔案到cacerts.bks檔案的步驟。
一:
獲取cacerts.bks檔案到你的計算機中,可使用Android模式器,也可USB連線你的手機。
>adb pull /system/etc/security/cacerts.bks cacerts.bks
二:
在PC上安裝Java環境,然後下載這個檔案 http://bouncycastle.org/download/bcprov-jdk16-141.jar,放入java安裝目錄下的/lib/ext/目錄中。
將第一步中取得的cacerts.bks與你要新增的CA證書放在同一級目錄下,CA證書為crt或cer格式。
三:
切換命令到第二步的目錄。匯入證書到cacerts.bks檔案中。
>keytool -keystore cacerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass changeit -importcert -trustcacerts -alias 存放別名 -file 要匯入的根證書.crt
注意以上命令中的“存放別名”,cacerts.bks檔案是以數字為存放別名的,你可自定義數字或字母,中間不得有空格,前提是不得與cacert.bks原有的CA別名有重複。
原版android 2.2系統的caerts.bks檔案中存放有56個證書,你可以以57開始。
要匯入的根證書.crt -->>為要新增的CA證書檔名。
回車後會有提示,確認後會新增成功。
四:
將修改過的cacerts.bks傳至手機。
取得 /system 目錄的寫入許可權
>adb shell mount -o remount,rw /system
上傳cacerts.bks
>adb push cacerts.bks /system/etc/security/
恢復 /system 目錄的只讀許可權
>adb shell mount -o remount,ro /system
重啟手機生效。
手機上安裝了“Root檔案管理器”,有些步驟是可在手機上進行操作的。