1. 程式人生 > >Android(cacerts.bks)新增根證書

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檔案管理器”,有些步驟是可在手機上進行操作的。