【问题标题】:How do I enable TLSv1.1+ on Xamarin Android (API 16 - 19)?如何在 Xamarin Android (API 16 - 19) 上启用 TLSv1.1+?
【发布时间】:2015-10-13 20:48:12
【问题描述】:

我正在尝试为我的 Android 应用(使用 Xamarin 构建)启用 TLSv1.1TLSv1.2。 Android API 16+ 支持 1.1 和 1.2,但在 API 20 (source) 之前默认不启用。谁能解释如何启用TLSv1.1TLSv1.2,并将其与.Net 的HttpClient 一起使用(或推荐HttpClient 的替代方案)。

【问题讨论】:

    标签: android ssl xamarin dotnet-httpclient


    【解决方案1】:

    安装Google Play Services - Safety Net
    并调用

    if (Android.OS.Build.VERSION.SdkInt <= BuildVersionCodes.Kitkat)
    {
        ProviderInstaller.InstallIfNeededAsync(ApplicationContext, this);
    }
    

    InstallIfNeeded 将启用 tls1.1+ 使用。每次应用程序启动都需要一次。 接下来——需要为HttpClient使用原生的HttpMessageHandler,见ModernHttpClient

    【讨论】:

    • 您的解决方案完美运行!太感谢了。你有什么建议强制 webview 使用 ModernHttpClient 吗?
    • @twolf 你怎么称呼这个?
    • @Kush 我在继承自 Application (android.app.Application) 的类的构造函数中调用它一次。
    • 谢谢@twolf,我会试试看的:)
    • @user1967092 我有完全相同的要求,但我没有使用 Xamarin。他们有任何使用普通原生 Android 代码的解决方案吗?
    猜你喜欢
    • 1970-01-01
    • 2018-06-05
    • 2019-03-08
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多