2016-10-05 295 views
4

我正在使用運行Android 7的Nexus 5X設備。我未能使用Charles Proxy文檔中的最新指令設置代理。我安裝了證書,但wifi設置或nugat被擴展。我可以將charles設置爲證書,但不會讓我連接到該無線網絡(身份驗證問題)。所以我把它作爲「不檢查正確性」。我甚至不知道這是否相關。Charles SSL Proxy適用於chrome,但不適用於應用程序

的事情是,當我嘗試在我的應用程序的https嗅出調用我看SSLHandshake: Received fatal alert: certificate_unknown 但是如果我使用運行在同一臺設備上的Chrome Web客戶端 - 我可以閱讀到相同的API調用。

底線是它適用於瀏覽器,但不適用於我的應用程序。我也檢查過其他應用程序。相同的輸出。

我在這裏問的原因是,也許我必須添加一些不安全的客戶端到我的改造API設置 - 希望不是。

+0

我得到了同樣的問題 - 做了喲你設法找到解決辦法? – kassim

回答

0

在Charles中,選擇幫助 - > SSL代理 - >在iOS模擬器中安裝Charles Root證書,關閉iOS模擬器並重新啓動模擬器。它現在應該工作。

1

這裏是你需要配置你爲了使CharlesProxy工作在Android的7

的Android

由於安卓APKň,你需要爲了把它添加配置到您的應用信任由Charles SSL Proxying生成的SSL證書。這意味着您只能將SSL代理與您控制的應用程序一起使用。

爲了配置您的應用程序以信任Charles,您需要將Network Security Configuration File添加到您的應用程序。此文件可以覆蓋系統默認值,使您的應用程序可以信任用戶安裝的CA證書(例如Charles Root證書)。您可以指定這僅適用於應用程序的調試版本,以便生產版本使用默認的信任配置文件。

文件RES/XML/network_security_config.xml添加到您的應用程序:

<network-security-config> 
    <debug-overrides> 
    <trust-anchors> 
     <!-- Trust user added CAs while debuggable only --> 
     <certificates src="user" /> 
    </trust-anchors> 
    </debug-overrides> 
</network-security-config> 

然後添加到該文件在您的應用程序的清單參考,具體如下:

<?xml version="1.0" encoding="utf-8"?> 
<manifest ... > 
    <applicationandroid:networkSecurityConfig="@xml/network_security_config" ... > 
     ... 
    </application> 
</manifest> 

在這裏,您可以找到更多的細節:

https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

相關問題