我在iOS中創建需要與我的TLS-1.2兼容服務器交談的應用程序。在iOS 9之後,引入了ATS(應用程序傳輸安全性),默認情況下啓用此功能。我無法再使用CharlesProxy輕鬆查看我的數據包。charlesproxy的iOS應用程序傳輸安全性
四處搜索後,我發現我們可以在我的應用程序的info.plist
中暫時禁用它以查看流量。
<key>NSAppTransportSecurity</key>
<dict>
<!--Connect to anything (for dev env only)-->
<key>NSAllowsArbitraryLoads</key>
如果我理解正確,ATS是用於數據加密而不是MITM。我們需要各種SSL固定來實現MITM預防。我的問題是,爲什麼我無法在不修改info.plist
的情況下查看charles proxy上的流量? (我可以看到來自其他應用程序的其他https呼叫)
MITM對於https很不容易。在Charles Proxy的情況下,作爲計算機管理員,您允許Charles Proxy安裝證書,這允許接受Charles Proxy https會話。固定不會允許這樣做,因爲不僅可以允許任何有效的證書,而且可以使用屬於您期望的服務器的證書。 – zaph