安卓7.0及以上用戶證書導入的問題

關鍵點:html

在通過我幾個小時的折騰後,我終於找出了問題所在。在進一步探討以前,我向你們推薦兩篇優秀的文章,這也是幫我解決該問題的關鍵信息:android

從Nougat開始,Android更改了對用戶安裝證書的默認信任行爲。這意味着,從sdcard安裝Burp CA將沒法攔截應用流量。除非另有說明,不然應用程序將只會信任系統級別的CA。ios

---------------------------------------------------------------------------copy from http://www.qingpingshan.com/rjbc/az/371473.htmlshell

緣由:瀏覽器

  安卓7.0及以上系統對於證書的安全策略作了修改,用戶證書只能用於代理瀏覽器的流量,而應用是不會信任這些證書。【ios和安卓<7.0的版本沒有此問題】安全

  解決方案:post

    一、root手機將證書導入到根證書目錄下ui

    二、換低版本安卓系統google

操做流程spa

  一、導出並轉換Burp CA

  以DER格式導出CA證書。我將它保存爲cacert.der

  將DER轉爲PEM格式證書,而且文件名爲subject_hash_old值並以.0結尾。

  當OpenSSL 版本<1.0時,文件名爲subject_hash。

  使用openssl將DER轉換成PEM,而後輸出subject_hash_old並重命名該文件:

  openssl x509 -inform DER -in cacert.der -out cacert.pem   openssl x509 -inform PEM -subject_hash_old -in cacert.pem |head -1   mv cacert.pem <hash>.0

  二、將證書複製到設備

    咱們可使用adb來複制證書,但因爲必須將其複製到/system文件系統,因此咱們須要將它從新掛載爲可寫。做爲root用戶,adb remount很是簡單。

http://entropyblog.com

    adb root  
    adb remount  
    adb push <cert>.0 /sdcard/

    進入adb shell將文件移動到/system/etc/security/cacerts,並將文件權限修改成644:

    mv /sdcard/<cert>.0 /system/etc/security/cacerts/     chmod 644 /system/etc/security/cacerts/<cert>.0

  三、reboot重啓設備

remount of /system failed: Read-only file問題:

1.adb disable-verity 會出現 

Verity disabled on /system 
Now reboot your device for settings to take effect 
2.adb reboot重啓設備. 
而後再remout就能夠成功了.

可能出現的狀況: 
可是有時候終端不能識別adb disable-verity命令,一個可能的緣由是adb版本過低了,adb version查看一下版本,而後更新到最新就行了.

 

只知道執行了adb disable-verity, adb reboot以後就可以remount成功,可是adb disable-verity具體作了什麼呢?
官方給出adb disable-verity的解釋是這樣的:disable dm-verity checking on USERDEBUG builds
大體意思就是不使用dm-verity驗證userdebug版本.能夠理解爲userdebug版本有些system分區被verity標識.

因此會出現上述錯誤是由於某些分區被系統標識,必需要驗證數據簽名,咱們只須要忽略驗證就好了.

上面能夠看到簽名是否須要驗證主要是由dm-verity決定的,那它又作了什麼呢?
它的做用和工做流程能夠移步http://blog.csdn.net/u011280717/article/details/51867673

 

adbd cannot run as root in production builds的問題

手機沒有root權限

 

 

 

 

解決小米Note adb調試沒法發現設備

在win7電腦上作安卓開發,adb時小米note始終發現不了設備,主要仍是驅動問題,解決步驟以下:

 

1.確保電腦上已經安裝小米note的驅動:

   1.1下載小米助手並安裝,下載地址:http://www.pc6.com/softview/softview_88819.html

   1.2 在把手機連入電腦前,確保手機未開啓調試模式,不然小米助手是木有辦法發現設備的,切記切記~~

    1.3打開電腦上的小米助手,用USB線鏈接手機和電腦,驅動會自動安裝好

 

2.開啓手機的調試模式

   1.1 先調出手機上的開發者模式:點「設置」-「關於手機」,而後在MIUI版本那一欄上快速點擊幾下。

   1.2開啓手機上的調試模式:完成上一步驟後,回到主頁面,再點擊「設置」-「其餘高級設置」-「開發者選項」-「USB調試」       

1.3開啓USB調試模式後還要enable端口:確保手機是鏈接在電腦上,而後在撥號界面輸入 *#*#717717#*#* ,看到toast提示「Diag USB port enable」則表示開啓成功

 

 

若是還不奏效,請檢查你是否是拿了根電源線。。。

 

3.在電腦命令窗口中adb kill-server,而後adb start-server,最後adb devices,就能夠看到設備啦~

 

android在使用adb 命令時有時會發現設備的狀態是offline,個人神呀,這怎麼讓咱們調試呢。必須解決這個問題。
解決方式以下:
如下方法請確保你的設備處於調試模式下。
方法一:執行 #adb kill-server
                        #adb start-server
                       #adb devices
看看設備是否仍是處於offline狀態,若是是,請嘗試方法二
方法二:
                   從新啓動設備,開機後,執行:
      #adb devices
若是設備仍是offline
請看方法三
方法三:
           重啓你的計算機吧。
若是還很差用,goto方法二。
---------------------
做者:weidawei0609
來源:CSDN
原文:https://blog.csdn.net/weidawei0609/article/details/7206223
版權聲明:本文爲博主原創文章,轉載請附上博文連接!

 

 

(以後再補上截圖)

相關文章
相關標籤/搜索