如何在 Xamarin Android (API 16 - 19) 上启用 TLSv1.1+?
Posted
技术标签:
【中文标题】如何在 Xamarin Android (API 16 - 19) 上启用 TLSv1.1+?【英文标题】:How do I enable TLSv1.1+ on Xamarin Android (API 16 - 19)? 【发布时间】:2015-10-13 20:48:12 【问题描述】:我正在尝试为我的 android 应用(使用 Xamarin 构建)启用 TLSv1.1
或 TLSv1.2
。 Android API 16+
支持 1.1 和 1.2,但在 API 20
(source) 之前默认不启用。谁能解释如何启用TLSv1.1
或TLSv1.2
,并将其与.Net 的HttpClient 一起使用(或推荐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 代码的解决方案吗?以上是关于如何在 Xamarin Android (API 16 - 19) 上启用 TLSv1.1+?的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin - 无法通过 Android(和 iOS)访问本地 api
如何在 Xamarin(iOS 和 Android)应用程序中使用 Windows 命名空间?
xamarin.android.support.v4 怎么安装
Xamarin.Auth OAuth Google API,用于Android的用户身份验证