91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用TLS 1.2保護Web請求

發布時間:2020-05-19 21:53:56 來源:網絡 閱讀:670 作者:wangccsy 欄目:移動開發

在我的這些年的開發中,我可以肯定的一點是,保護網絡請求是任何移動應用程序的基本組成部分。幾周前我的一個應用程序停止工作,因為我改變了在mettup.com的服務器上的安全套接字層(SSL)認證,這使我認識到傳輸層安全(TLS)在確保應用程序和服務器請求中起著重要的作用。

我在我的播客合并沖突中更詳細地討論TLS,但簡而言之,TLS提供了對稱加密技術,可以防止中間人***,也可以防止移動設備的任何通信隱私。Meetup更新了他們的認證服務器要求在使用制作請求時最少要TLS1.2版本,因此我很清楚的更新了我的應用程序并啟用TLS1.2以支持我的Xamarin.iOS和Xamarin.Android應用,僅改變了一些構建配置。

基礎知識

當涉及到網絡請求和TLS時,有兩個重要的設置我們可以修改:

  • HttpClient: 處理HttpMessageHandler實現以提供消息處理或者提供底層的本機實現。

  • TLS/SSL: 處理應用程序使用的TLS的實現。

我們可以選擇的每個實現都提供了不同的功能、速度和兼容性,同時提供了一個標準的網絡請求調用,并在幕后透明地表現。

Android

選擇HttpClient 和TLS實現的設置,通過右鍵點擊項目可以發現,通過在Windows版Visual Studio中,Properties > Android Options > Advanced或者在Xamarin Studio中Options > Build > Android Build > General

使用TLS 1.2保護Web請求

啟動位置

在Android上HttpClient 實現我們通過在使用new HttpClient()默認控制,而TLS / SSL實現控件的默認WebRequest。

受控的 HttpClientHandler是 HttpClient 處理完全管理的實現, 幾年來它都是Xamarin.Android的默認實現。而在功能方面最兼容的時候,折衷是一個稍大的可執行文件大小,并且執行速度可能比本機實現慢。此實現僅與過去的TLS 1/1.1兼容, 但是,在TLS / SSL實現中有一個新的選項來使用本地TLS 1.2 +,它將在所有的調用下使用谷歌下一個令人討厭的SSL。

本地的 AndroidClientHandler 選項使用本地的java.net.URLConnection來處理所有的HTTP請求,改進的性能和更小的可執行文件的大小。 AndroidClientHandler 警告雖然它將在所有版本的Android上運行,它只會在Android 5 +設備提供支持TLS 1.2和幾個HttpClient功能可能不可用。

選擇編程

或者,你可以混合和匹配使用托管和一個電話呼叫的基礎上人HttpClient Handler。簡單地傳遞一個 AndroidClientHandler 實例,在創建HttpClient時:

點擊(此處)折疊或打開

  1. using System.Net.Http;

  2. ...

  3. // This will use the default message handler for the application; as

  4. // set in the Project Options for the project.

  5. var client = new HttpClient();

  6.  

  7. // Use AndroidClientHandler for all calls from this HttpClient

  8. var client = new HttpClient(new Xamarin.Android.Net.AndroidClientHandler ());



OS與TLS兼容性

確保這一點很重要,在SSL/TLS實現框中選擇 Native TLS 1.2+ ,如果你的應用要求TLS 1.2+。Android的應用程序需要運行的版本將決定我們是否應該選擇托管或本機HttpClient實現。對于Meetup網站經理,我選擇了HttpClientHandler和本地托管TLS 1.2 +所以我可以支持TLS 1.2 +在所有我的電話,無論安卓版。

iOS & macOS

iOS 和macOS 在處理程序和TLS支持時更簡化。所有來自于Xamarin.iOS 10.8的iOS應用都使用蘋果的TLS使用本地執行的,它為所有應用程序提供完整的TLS 1.2 +支持。還有幾個選項,開發者可以選擇當談到HttpClient實現,通過在Visual Studio中右擊工程并選擇 Properties > iOS Build > Advanced 或者在Xamarin Studio選擇 Options > Build > iOS Build來找到。

使用TLS 1.2保護Web請求

有三種不同的HttpClient的處理程序,可以選擇iOS應用。默認管理HttpClientHandler提供HttpClient功能最大的兼容性。然而,像管理Android HttpClient處理程序,它還需要更多的托管代碼,可以增加應用程序的大小。另外兩個選項,CFNetwork Handler(iOS 6 +)和NSURLSession Handler(iOS 7 +),包裝器是否圍繞各自的原生api,提供用于網絡通信和傳輸的底層本機代碼。使用這些將導致更小的可執行文件,提高網絡性能,并使用底層的IOS隊列和線程。缺點是,有可能不是所有的全功能的.net HttpClient的功能和選項。

選擇編程

就像 Xamarin.Android我們可以選擇我們的應用程序使用HttpMessageHandler務實:

點擊(此處)折疊或打開

  1. using System.Net.Http;

  2. ...

  3. // This will use the default message handler for the application; as

  4. // set in the Project Options for the project.

  5. var client = new HttpClient();

  6.  

  7. // This will create an HttpClient that explicitly uses the CFNetworkHandler

  8. var client = new HttpClient(new CFNetworkHandler());

  9.  

  10. // This will create an HttpClient that explicitly uses NSUrlSessionHandler

  11. var client = new HttpClient(new NSUrlSessionHandler());


更新TLS 和HttpClient 實現,將使我們的應用程序能夠完全安全,并兼容我們應用程序必須與之交互的任何后端。

了解更多

一定要看我們的更新,跨平臺 傳輸層安全 文檔, 對于一個完整的,所有的TLS選項Xamarin開發進行了深入的分析,其中包括額外的切換和指導。你也可以查看特定平臺的文檔,為 Android 和 iOS / macOS 分別頒發的。還有,一定要聽我的考驗和磨難,在 Merge Conflict 37: TLS – How do you EVEN上。最后,學習更多Xamarin大學的 自學課程 “Consuming REST-based Web Services”, 它研究了如何在移動應用程序中集成和使用REST式Web服務。

                                         


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林州市| 康平县| 山东| 莫力| 新宁县| 三明市| 清水河县| 荔波县| 东平县| 板桥市| 北海市| 克拉玛依市| 弥渡县| 广平县| 平原县| 马尔康县| 土默特右旗| 梅州市| 甘孜县| 普洱| 游戏| 诸城市| 青川县| 时尚| 社会| 神木县| 荔浦县| 惠安县| 中山市| 嘉定区| 凌海市| 疏附县| 兴文县| 长治县| 双桥区| 佳木斯市| 栾城县| 纳雍县| 常山县| 格尔木市| 连江县|