首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android sdk level 23中SSLParameter.setServerNames的替代方案是什么

在Android SDK Level 23中,SSLParameter.setServerNames方法的替代方案是使用SNI (Server Name Indication) 扩展来设置服务器名称。

SNI是一种TLS协议的扩展,它允许客户端在建立TLS连接时指定要连接的服务器的主机名。在Android SDK Level 23之前,可以使用SSLParameter.setServerNames方法来设置服务器名称,但在Level 23及更高版本中,该方法已被弃用。

要使用SNI扩展来设置服务器名称,可以通过以下步骤实现:

  1. 创建一个SSLSocketFactory对象,并使用它来创建SSLSocket。
  2. 在创建SSLSocket之前,使用SSLParameters类的setServerNames方法来设置服务器名称。setServerNames方法接受一个List<SNIServerName>参数,其中SNIServerName是一个抽象类,可以使用它的子类SNIHostName来表示服务器名称。
  3. 使用设置了服务器名称的SSLSocketFactory来创建SSLSocket。

以下是一个示例代码:

代码语言:java
复制
// 创建SSLContext
SSLContext sslContext = SSLContext.getInstance("TLS");

// 创建一个空的KeyManager数组和TrustManager数组
KeyManager[] keyManagers = null;
TrustManager[] trustManagers = null;

// 创建一个随机数生成器
SecureRandom secureRandom = new SecureRandom();

// 初始化SSLContext
sslContext.init(keyManagers, trustManagers, secureRandom);

// 创建SSLSocketFactory
SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();

// 创建SSLSocket
SSLSocket sslSocket = (SSLSocket) sslSocketFactory.createSocket();

// 创建SSLParameters
SSLParameters sslParameters = new SSLParameters();

// 创建SNIHostName
SNIHostName sniHostName = new SNIHostName("example.com");

// 设置服务器名称
sslParameters.setServerNames(Collections.singletonList(sniHostName));

// 设置SSLParameters到SSLSocket
sslSocket.setSSLParameters(sslParameters);

这样,通过使用SNI扩展来设置服务器名称,可以在Android SDK Level 23及更高版本中替代SSLParameter.setServerNames方法。

在腾讯云的产品中,与SSL/TLS相关的产品包括SSL证书、SSL VPN等,可以根据具体需求选择适合的产品。具体产品介绍和更多信息可以参考腾讯云官方文档:SSL证书SSL VPN

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CentOS 86 Linux 生命终结,2022 年最好替代方案是什么

但是,如果您使用是 CentOS 8,那么 2022 年有哪些替代方案?不幸是,即使您找到了,服务器应用程序迁移也将是另一个挑战。然而,这里有一些选项可以在 2022 年取代 CentOS。...◆ CentOS 8 Linux 最佳替代品 ◆ 1.Ubuntu / Debian 当然,每当我们谈论替代 CentOS 服务器操作系统替代品时,Ubuntu LTS 版本将是第一选择。...◆ 2、Oracle linux 与具有 RPM 包管理 CentOS 8 Linux 最接近替代选项是 Oracle Enterprise。...尽管如此,使用基于 CentOS 8 Linux 托管解决方案 CloudLinux 用户不必担心,因为他们将在 2029 年之前获得稳定且经过良好测试更新。 ◆ 5....当然,在4 年内我们也将有更多可靠和稳定选择来替代 CentOS 7,直到现在,使用 CentOS 6 用户仍然可以考虑采用Ubuntu、Debian、Oracle 或 OpenSUSE。

6.1K30

传统FTP传输文件“七宗罪” FTP替代方案是什么

研究表明,88%组织难以快速有效地移动大数据,每条丢失或被窃取数据平均损失成本达近千元。基于FTP解决方案目标从来都不是为了满足快速、安全和可扩展数字信息交换爆炸性需求。...总结 企业越来越依赖安全可靠文件传输解决方案,不管是人与人之间,还是在与系统之间,都需要安全地交换越来越多敏感数据,拥有一个安全、可扩展解决方案,以支持你业务需求和目标是至关重要。...那么FTP替代方案在哪里呢?...《Ftrans文件传输服务器软件》是Ftrans飞驰云联自主研发软件产品,拥有完全自主知识产权,完美响应国产化替代要求,该产品可以帮助企业实现安全可控、高效可靠文件传输,可以完美替代FTP或增强FTP...《Ftrans文件传输服务器软件》是集简单易用、安全可靠、可管可控于一身国产化FTP替代解决方案,可以帮助企业以更低成本和投入,实现高效可靠文件传输。

2.2K30

Android中一种巧妙drawable.xml替代方案分享

按照标准Android布局开发模式,我们不得不为各种UI效果新建不同xml文件进行描述,哪怕是简单一个圆角。...随着项目迭代,成百上千xml连同那模棱两可文件名,不仅让开发者复用或清理成本难以估计,还使得项目体积急剧增大。因此,下面我们探索一种原理巧妙、适配全面的drawable替代方案。...不过,如果两相结合,作为对第一种方案补充倒是一个不错方案。...新方案探索 上述两种方案各有千秋,但都无法完全解决问题,我们对上述两种方案进行分析,提出以下问题:为什么不能有一种「既具有高可读性,又能全面适配」drawable.xml替代方案呢?...总结 回顾本文,并没有任何复杂代码或高深逻辑组合,仅提出一种巧妙drawable.xml替代方案,具有「既具有高可读性,又能全面适配」特点。

86510

android定义新api解决一些低版本不能运行问题

Android Call requires API level 11 (current min is 8)解决方案 【错误描述】     在用Eclipse开发过程中,为了兼容Android2.2和4.0...【解决方案】    右键点击项目->Android tools ->Clear Link Markers.即可临时解决,但是如果调试用模拟器是低版本,则在调试完后还有这个错误。   ...如果把manifest文件中user-sdkandroid:minSdkVersion改为报错那个高版本就没事。...比如下面: <uses-sdk         android:minSdkVersion="11"   //这个之前是8         android:targetSdkVersion="17" /...> 【扩展】   这种错误不仅发生在Level11,也同时发生于其他因为设置了最低版本,但使用了高版本API代码中,解决方案应该相同。

76960

【最佳实践】巡检项:实时音视频 (TRTC) 原生平台 SDK 终端版本分布情况

问题/风险描述: 用Android 11(APIs level 30)手机打开应用,然后调用SDK进房接口,会出现崩溃现象。...这个崩溃问题只出现Android API level 29+设备上,根据客户分开该问题已触发40多次。...通过客户反馈crash堆栈信息排查,定位到TRTC SDK(version:8.3)内部一个模块在获取网络状态信息时候,调用了一个Android SDK已被移除API,导致App崩溃。...image.pngimage.png解决方案: 通过上面的问题排查和定位,确认是老版本SDK(8.3)调用了系统过期API导致,针对这个问题,TRTC SDK在新版本做了兼容安卓11兼容性处理...因为是底层接口问题,没有其他临时解决方案,要彻底规避这个问题,需要客户把SDK版本升级到最新版本。案例说明:某客户因为优化该隐患,避免了因为Android 11普及导致故障率急剧上升。

43330

Android 11 应用兼容性适配,看这篇就够了

2 应用私有目录访问 对于运行在Android 11应用,无论targetSdkVersion是什么都无法访问Emulated存储中其他应用私有目录(Android/data)。...1 不管应用目标 SDK 版本是什么,以下变更均会在 Android 11 中生效: ● 存储运行时权限已重命名为文件和媒体。...3.11 限制非SDK接口 1 背景 Android 11 包含更新后受限制非 SDK 接口列表,在限制使用非 SDK 接口之前,Google尽可能确保提供公开替代方案。...#test-for-non-sdk 2 如果您应用依赖于非 SDK 接口,则应该开始计划迁移到 SDK 替代方案。...如果您无法为应用中某项功能找到使用非 SDK 接口替代方案,则应该请求新公共 API。

12.4K42

详解Android版本适配:9.0 Pie

限制非 SDK 接口调用 3.1 简述 一直以来,官方提供接口分为了 SDK 接口和非 SDK 接口。SDK 接口即官方支持接口,开发者可以直接调用不会有任何限制。...一般而言,SDK 接口都记录在官方接口索引中,没有记录就视为非 SDK 接口,例如一些使用了 @hide 标注方法。...以往开发者对于非 SDK 接口调用通常是利用反射或者JNI间接调用方式进行,但这样调用方式如果处理不当会比较容易出现一些未知错误。...为了提升用户体验和降低应用发生崩溃风险,Android 9.0 对应用能使用SDK 接口实施了限制,具体限制手段请见下表: ?...(黑名单): light-greylist(浅灰名单):对于此名单中SDK 接口,官方暂未找到可替代 SDK 接口,因此开发者仍可继续访问(如果 targetSdkVersion 大于等于28时会出现警告

1K20

Android 可视化埋点方案

背景 目前统计打点已经是一个产品常见需求,尤其在业务模式探索前期,埋点功能更是必不可少功能,下面将介绍最简单app全埋点方案!...数据埋点包括哪些 这里有我之前写一篇文章App优质精准用户行为统计和日志打捞方案 地址:blog.csdn.net/sk719887916… 数据埋点采集模式 自动埋点 App通过代理,调用Sdk相关...无痕埋点 无需通过专门提供代理类,直接由sdk提供相关接口,或者通过编译工具,预编译替换代码等,直接由sdk全部负责采集上报 可视化埋点 可视化埋点指 前端或者app端基于dom 元素和控件所精准自动埋点上报方案...实现方案: 埋点需求可参考我之前文章: App优质精准用户行为统计和日志打捞方案:https://blog.csdn.net/sk719887916/article/details/50931485...来区分eventType是什么类型,然后做不同处理 给View设置AccessibilityDelegate,而当View 产生了click,long_click 等事件时候.会在响应原有的Listener

3.9K30

如何让 HelloWorld.apk 体积最小

移除 appcompat_v7 依赖 创建一个 Minimum Required SDK 低于 API level 11(对应 Android 3.0),Target SDK 高于 API Level...错误提示 ActionBarActivity cannot be resolved to a type 解决方案 默认生成 MainActivity 继承自 ActionBarActivity...它提供了能用于 Android 1.6(API level 4)及以上系统许多功能集,比如界面、数据处理和网络连接等。...(注:如果关闭 workspace 后重新打开,这个取消导出会重新被勾选中,如果确定使用不导出方案,那么可在 Package Explorer 视图中该工程下 libs 里找到 android-support-v4...API 有大量实用 API 用不了了,比如非常重要 Fragment,要么将 minSdkVersion 改为 API level 11 以上使用android.app.Fragment,要么需要依赖

1.2K20
领券