You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android运行TLS-PSK模式Jetty服务器出现ManagedSelector UnsupportedOperationException

问题诊断结论

你没有遗漏Selector相关的配置项,ManagedSelector抛出的java.lang.UnsupportedOperationException异常和Selector配置无关,根因是TLS-PSK场景下的SslContextFactory配置和Android平台的TLS实现存在兼容性问题。

异常触发原因
  • 你在配置SslContextFactory时同时调用了setKeyStore(keystore)和setSslContext(sslContext),TLS-PSK握手不需要使用标准X509证书体系的密钥库,Jetty在处理PSK密钥材料时会尝试调用密钥库的相关方法,而你配置的密钥库不支持PSK凭证的读取逻辑,直接触发不支持操作异常。
  • 你配置的TLS_PSK_WITH_AES_256_CBC_SHA密码套件需要对应安全提供者的完整支持,Android内置的默认TLS实现对PSK类密码套件的适配存在大量缺失,部分未实现的方法被Jetty调用时也会抛出该异常。
修复步骤
  • 移除ctxFactory.setKeyStore(keystore)这行配置,TLS-PSK场景无需配置标准密钥库
  • 新增两行配置关闭Jetty默认的X509身份校验逻辑:
ctxFactory.setNeedClientAuth(false);
ctxFactory.setWantClientAuth(false);
  • 确认你传入的sslContext已经正确初始化了PSK专用的密钥管理器,密钥管理器实现类中所有X509证书相关的方法要么做了空兼容处理,要么不会被调用
  • 建议将安全提供者替换为Conscrypt,其对Android平台的TLS-PSK适配比系统内置实现更完善,可避免大量底层兼容性问题

内容的提问来源于stack exchange,提问作者Fir_Man93

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:15:03