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

javax.net.ssl.SSLHandshakeException:使用jetty库实现的HTTP2调用苹果APNS时,没有可协商的密码套件

javax.net.ssl.SSLHandshakeException是Java中的一个异常类,表示SSL握手过程中发生了异常。在这个特定的情况下,异常是由于使用jetty库实现的HTTP2调用苹果APNS时,没有可协商的密码套件引起的。

SSLHandshakeException异常通常发生在客户端和服务器之间建立安全连接的握手过程中。在这个过程中,客户端和服务器会协商使用哪种加密套件来保证通信的安全性。然而,由于某些原因,可能会出现没有可协商的密码套件的情况,导致握手失败并抛出SSLHandshakeException异常。

针对这个问题,可以尝试以下解决方案:

  1. 更新jetty库版本:检查使用的jetty库版本是否过旧,如果是,则尝试升级到最新版本,以确保库中包含了支持HTTP2的密码套件。
  2. 检查Java版本:确保使用的Java版本支持HTTP2和相应的密码套件。如果Java版本过旧,可能会导致没有可协商的密码套件。
  3. 检查网络连接:确保网络连接正常,没有任何阻塞或代理设置干扰了与苹果APNS的通信。
  4. 查看文档和示例:查阅jetty库的官方文档和示例,了解如何正确配置和使用HTTP2调用苹果APNS,并确保使用了支持的密码套件。
  5. 腾讯云相关产品推荐:腾讯云提供了一系列云计算产品,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。具体推荐的产品和介绍链接如下:
    • 云服务器(CVM):提供弹性计算能力,支持多种操作系统和应用场景。产品介绍链接
    • 云数据库MySQL版:提供高可用、可扩展的MySQL数据库服务。产品介绍链接
    • 对象存储(COS):提供安全、稳定、低成本的云端存储服务。产品介绍链接

请注意,以上解决方案和推荐的腾讯云产品仅供参考,具体的解决方法和产品选择应根据实际情况进行调整。

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

相关·内容

iOS MDM详解(1)— 初识和深入

当企业大量使用移动设备办公或涉及到一些安全限制设备管理作用就能明显体现出来,通过MDM IT人员门能够在企业环境下安全地注册设备,无线配置和更新设置,监督公司政策遵守情况,还能远程擦除或锁定被管理设备...MDM工作流程 从上图可以看出要实现MDM服务须涉及到,苹果推送服务器APNs、自己或者第三方提供MDM服务器、受管理设备。...另外设备和MDM服务器之间数据传输都是以XML格式形式,以PUT请求方式进行,所以发送指令,服务器要把指令封装成一个XML文件同时要实现PUT请求相关操作处理。...四、要做操作及我遇到过问题 通过以上了解可看出,要实现一个完整MDM服务,我们需要:制作APNs推送证书、设备安装配置文件、实现https通信、实现MDM相关协议、学习MDM协议相关命令及使用、...问题2、MDM服务器与APNs无法建立连接,造成一直推送不成功 推送命令Java后台一直报错,*`javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException

3.5K30

基于APNs最新HTTP2接口实现iOS高性能消息推送(服务端篇)

所以本文趁着最近对项目组苹果iOS推送进行升级修改机会,详细查阅了最新苹果APNs接口文档,同时为了避免重复造轮子(懒),在调研了一些开源常用之后,选择了Turo团队开发和维护pushy开源工程来实现在...Java服务端调用苹果最新APNs HTTP/2接口进行消息推送,并借此文对Pushy使用方法进行了总结和记录,希望对你用。...补充说明:网上目前能查到有关iOS端APNs消息推送Java服务端代码实现,多是介绍如何使用Java-APNS这个工程,但这个工程以及类似的其它工程都很久没有维护了,跟最新苹果APNs服务已经很难匹配了...就算是微信和QQ这种用户级别的即时通讯app在程序没有启动或者后台运行过程中也是需要使用APNs(当程序启动使用自己建立长连接),只不过腾讯优化了整条从他们服务器到苹果服务器线路而已,所以觉得推送要快...项目组老苹果推送服务使用苹果以前基于二进制socketAPNs,同时使用是一个javapns开源,这个javapns貌似效果不是很好,在网上也有人有过讨论。

5.2K30
  • 如何建立TLS连接?TLS握手失败可能这个原因!

    前面curl输出显示双方协商出来是 ECDHE_RSA_AES_128_GCM_SHA256 但: 这是协商后达成结果,只是个套件,不是套件列表 这密码套件是curl这客户端,不是出问题客户端...咋获得这Java能支持密码套件列表?最直接, 抓包分析。回到前面那抓包文件,检查Client Hello报文。在那就有Java支持密码套件列表: 找到客户端密码套件列表了。...换个思路 看服务端在TLS握手成功后用了哪个密码套件,而不是拿到它全部列表。前面curl成功, 看curl那次协商出来套件,看它是否被Java支持,就能判定了。...至此,能确认问题根因:因为这Java和API server 2之间没找到共同密码套件,所以TLS握手失败。 根因找到,下步就是升级Java,让双方能协商成功。...这四类算法组合,就形成了密码套件,英文叫Cipher Suite。这是TLS握手中重要内容,我们案例1就是因为无法协商出公用密码套件,所以TLS握手失败了。

    1.2K40

    直播平台建设过程中不可或缺推送功能

    App内消息推送不仅能够给用户提供通知信息,提高用户活跃度,还能够起到召回一部分老用户作用。那么在直播平台建设过程中,关于第三方推送也就是我们所说消息推送功能又该如何实现呢?...l 应用服务器会根据需要调用推送服务端接口发起推送。 l 推送服务器收到推送请求后,根据请求中devicetoken定位到具体设备,然后下发推送通知。...5.jpg ios端 苹果官方有专门苹果推送通知服务,简称APNS,有很高推送送达率。最早APNS提供基于TCP协议接口,但是这一接口使用方式较为复杂,如果不注意就容易导致推送失败。...后来苹果又提供了一套新基于HTTP2协议推送接口,这一接口可以追踪到每个推送请求是被拒绝还是成功,所以应用也比较多。...以上内容就是在直播平台建设过程中,推送功能实现方法及相关内容。推送功能虽然没有直播app内其他主要功能那么重要,但却是每一个app内不可缺少功能之一。

    1.7K00

    网络协议之:加密传输中NPN和ALPN

    虽然HTTP2没有强制说必须使用加密协议进行传输,但是业界标准包括各大流行浏览器都只支持HTTPS情况下HTTP2协议。 那么怎么在HTTPS之中加入HTTP2协议支持呢?...server hello 服务器端收到client hello消息后,会向客户端返回一个server hello消息,包含如下内容: 使用版本号 当前时间 服务器随机数 会话ID 使用密码套件 使用压缩方式...使用版本号,使用密码套件使用压缩方式是对步骤1回答。...NPN和ALPN 上面我们介绍SSL/TLS协议时候,最后一步是切换到应用数据协议,那么客户端是怎么和服务器端讨论协商具体使用哪种应用数据协议呢?是使用HTTP1.1?还是HTTP2?...他们主要用在TLS中,用来协商客户端和服务器端到底应该使用什么应用数据协议进行沟通。 其中NPN是SPDY使用扩展,而ALPN是HTTP2使用扩展。 他们两个有什么区别呢?

    1.3K21

    iOS 推送手机消息背后技术

    iOS系统方法,远程消息推送实现涉及到用户设备、我们自己业务方服务器和苹果APNs服务交互。...不同于Android系统中远程消息推送实现,需要App自身通过后台服务与业务服务器维持长链接通信,iOS中消息推送是操作系统与苹果APNs服务器直接交互实现,App自身并不需要维持与服务器连接...iOS客户端远程消息推送实现可以分为以下几个流程: 用户iphone通过iOS系统方法调用苹果APNs服务器通信,获取设备deviceToken,它是由APNs服务分配用于唯一标识不同设备上不同...苹果APNs服务是基于deviceToken实现,因此需要将设备deviceToken发送到我们业务服务器中,用于后续消息推送。...在新闻类App出现事实热点新闻,后台服务就可以携带消息内容和deviceToken等内容,向苹果APNs服务发起消息推送请求,推送消息实现是异步,只要请求格式和deviceToken检查通过APNs

    3.9K103

    网络协议之:加密传输中NPN和ALPN

    虽然HTTP2没有强制说必须使用加密协议进行传输,但是业界标准包括各大流行浏览器都只支持HTTPS情况下HTTP2协议。 那么怎么在HTTPS之中加入HTTP2协议支持呢?...server hello服务器端收到client hello消息后,会向客户端返回一个server hello消息,包含如下内容: 使用版本号 当前时间 服务器随机数 会话ID 使用密码套件 使用压缩方式...使用版本号,使用密码套件使用压缩方式是对步骤1回答。...NPN和ALPN 上面我们介绍SSL/TLS协议时候,最后一步是切换到应用数据协议,那么客户端是怎么和服务器端讨论协商具体使用哪种应用数据协议呢?是使用HTTP1.1?还是HTTP2?...他们主要用在TLS中,用来协商客户端和服务器端到底应该使用什么应用数据协议进行沟通。 其中NPN是SPDY使用扩展,而ALPN是HTTP2使用扩展。 他们两个有什么区别呢?

    1.5K10

    腾讯Kona国密套件:从基础算法到安全协议

    KonaPKIX,它实现了国密证书解析及其证书链验证,并可加载和创建包含国密证书密钥(Key Store)文件。...Kona,它没有直接实现任何功能,而是将KonaCrypto,KonaPKIX和KonaSSL中特性进行了简单封装,以方便用户仅使用这一个Provider就能够调用上述三个Provider中全部功能...另外,每一方还需要有各自ID,如果没有的话,就使用默认1234567812345678。...需要了解是,当使用ECDHE密码套件,客户端也必须提供双证书,这是SM2密钥交换算法所要求,也是与TLS协议中ECDHE密码套件一个明显区别。...KonaSSL还为TLCP实现了一些重要TLS扩展,如,服务器名称指示(SNI),它会帮助服务器选择正确证书;应用层协议协商(ALPN),它会用于在握手协商使用HTTP/2协议。

    4.9K21

    逆向工程分析:iMessage如何利用硬件来保护软件

    写在前面的话 iMessage是苹果生态系统中广泛使用安全消息应用程序和协议。...当前解决方案 当前在苹果生态系统之外运行iMessage实际解决方案需要一台Mac服务器,并依赖AppleScript脚本来实现自动化Messages.app UI活动,这样就不需要在客户机上重新实现消息发送协议了...NPN协议现在改名为了ALPN应用层协议协商,它是一种TLS扩展,允许在安全连接基础上进行应用层协议协商。它可以告诉TLS服务器客户端希望使用哪个应用层协议。...考虑到使用额外TLS扩展,明智做法是使用tcpdump记录并检查通信量。但首先,我们需要重新启动apsd,因为连接是在启动发生。...参数中哈希代表是消息主题或使用了APN服务。如果没有过滤器消息,客户端就无法通过(0x0a: 发送消息)来发送或接受APN消息了。因此,我们必须在发送消息之前调用过滤器命令。

    2.9K20

    关于JPush(极光推送)那些事

    红色部分是 APNs 推送,JPush 代理开发者应用(需要基于开发者提供应用证书),向苹果 APNs 服务器推送。由 APNs Server 推送到 iOS 设备上。...获取 APNs 推送内容 应用内消息 ---- 应用内消息:JPush iOS SDK 提供应用内消息功能,在 App 在前台能够收到推送下来消息。App 可使用此功能来做消息下发动作。...对于两种消息代码处理可以参考API 部分描述。 JPush API v3 支持同时一次调用同时推送 APNs 通知与 JPush 应用内消息。这在某些应用场景里是有意义。...7:核心代码: 添加初始化代码 ---- 添加初始化APNs代码 请将以下代码添加到 添加初始化JPush代码 注册APNs成功并上报DeviceToken 实现注册APNs失败接口(...可选) 添加处理APNs通知回调方法 下面这几个方法也是核心代码,这是对通知回调方法,通知达到之后会调用这下面的方法,所以说也是必须要实现.JPush考虑很周全,涉及到了各个版本,但是方法太多

    1.5K10

    详解 HTTP2.0 及 HTTPS 协议

    一、HTTP1.1 VS HTTP2 严格意义上HTTP2.0和HTTPS并没有什么必然联系,只是搭配使用更香一些,HTTP2 是1999年HTTP1.1之后第一次更新。...+ ALPN协商: 应用层可以协商在安全连接层之上使用什么协议, 避免了额外往返通讯, 如上图 复制代码 Server-hello阶段 服务器收到浏览器发送来 TLS 握手请求后, 存储浏览器发送...Cipher-spec 阶段 经过Client Hello和Server Hello 客户端和服务端完成了加密套件协商。...而HTTP2.0 标准中,虽然没有强制提出要使用加密(HTTPS)但是目前主流浏览器,chrome、火狐等都已经公开宣布只支持加密HTTP2,所以目前互联网上能见到HTTP2基本都是基于HTTPS协议...,如果web服务端没有包含中间证书且使用浏览器中也没有包含中间证书,就会导致信任问题。

    3.4K01

    iOS推送APNs

    在线推送:APP在前台,消息通过自建网络长连接从服务器推送到应用,常见应用:微信在前台消息推送。 APNs:APP未被唤起或者处于后台,通过苹果服务器远程推送消息给应用。...主要流程为: 服务器端将消息先发送到苹果APNs; 由苹果APNs将消息推送到客户设备端; 由iOS系统将接收到消息分发给相应App。...3、APNs安全架构 APNs使用两个“信任”来实施端到端、密码验证和身份验证:连接信任和设备令牌信任(connection trust and device token trust.)。...APN到设备连接信任:确保只有授权设备才能连接到APN来接收通知。APNs会自动强制与每个设备建立连接信任,以确保设备合法性。...安装应用后第一次打开APP获取deviceToken必须联网。如果在获取没有网络,在重新连接网络后会第一间返回deviceToken。 不需要缓存DeviceToken。

    3.6K20

    Okhttp如何开启Http2.0

    client 发起第一次client hello过程,请求 Https 连接,发送可用 TLS 版本和可用密码套件。...server 发起第一次server hello过程,返回证书,密码套件和 TLS 版本等信息。...ALPN支持任意应用层协议协商,目前应用最多是HTTP2协商。当前主流浏览器,都只支持基于 HTTPS 部署 HTTP/2,因为浏览器是基于ALPN协议来判断服务器是否支持HTTP2协议。...从拦截器实现可以发现,Okhttp实现了一个连接池,当ConnectionInterceptor被调用时候,先是判断连接池内有没有空闲并且健康可用连接,然后再使用连接去调度下一个拦截器,那么也就是一个...简单说Okhttp就是抽象了下所有Tls,SSLSocket相关代码,然后通过一个Platform,根据当前使用环境不同,去反射调用不同实现类,然后这个抽象类去调用Platform实现类代码

    5.3K40

    APNs推送

    场景 即时通讯中需要对离线消息进行接收,此时就需要离线推送即当应用没有退出登录情况下,被系统或者用户杀掉进程仍然能收到IMSDK消息提醒。...处理流程 1.申请APNs证书参考文档:Apple 推送证书申请 2.上传证书到腾讯云控制台 注意:上传证书名最好使用全英文(尤其不能使用括号等特殊字符)。 上传证书生效时间为 10 分钟左右。...上传证书需要设置密码,无密码收不到推送。 注意生产环境选择,发布 AppStore 证书需要设置为生产环境,否则无法收到推送。 上传 p12 证书必须是自己申请真实有效证书。...3.客户端实现APNs推送 客户端实现步骤 1....应用程序服务器端把要发送消息、目的iPhone标识打包,发给APNS

    2.1K21

    工作流调度器azkaban(以及各种工作流调度器比对)

    供业务调用使用。...(5):工作流调度实现方式:   a:简单任务调度:直接使用linuxcrontab来定义;   b:复杂任务调度:开发调度平台,或使用现成开源调度系统,比如ooize、azkaban等 (...它有如下功能特点:      Web用户界面,方便上传工作流,方便设置任务之间关系,调度工作流,认证/授权(权限工作),能够杀死并重新启动工作流,模块化和插拔插件机制,项目工作区,工作流和任务日志记录和审计...1、先生成时区配置文件Asia/Shanghai,如果没有这个时区Asia/Shanghai,使用交互式命令 tzselect生成 即可,根据提示进行选择,这里省略。   ...hive或者azkaban数据表,应该是没有权限问题,赋予一下权限即可: 如果出现没有权限问题,在mysql授权(在安装mysql机器上执行)     mysql -uroot -p123456

    3.2K111

    WEB加速,协议先行 ( 上)

    4.然后就可以在这个TCP连接上进行TLS握手了,首先完全握手阶段一,主要是协商协议版本,密码套件,返回证书。...5.客户端在获取到证书后,校验完证书签名和时间都没有问题后,还是有可能要检查这个证书状态,因为我们有可能主动撤销了这个证书,也有可能是CA本身数据出了安全问题。...比如业务处理整体时间,又比如跟协议相关信息,包括是否TCP连接复用,TCPRTT,是否TLS Session复用,TLS协议版本,密码套件,TLS非对称密钥交换计算时间,握手时间,HTTP2头部压缩比等...上述这些单一维度又可以进行多维度整合,比如这行黄色文字所示“腾讯X5内核浏览器在4G网络下使用HTTP2并且是TLS1.2协议并且使用ECDHE并且没有复用tls session首屏时间是多少?”...我们清晰地看到它使用TLS1.1,1.0,以及其他密码套件一些性能数据,为什么快,为什么慢,通过这样多维度对比,一目了然。

    1.9K20

    IMSDK离线推送

    系统要求 条件说明 APNs iOS iOS 系统推送通道,也是唯一 iOS 推送通道 vivo 推送 FuntouchOS 并非所有 vivo 机型和版本都支持使用 vivo 推送,SDK 版本 vivo_pushsdk_v2.3.1...offline(终端主动调用logout接口断开连接),pushoffline(终端出于online状态,因为网络异常、进程被杀原因,与后台断开了连接,并没有主动调用logout)。...2、ios用苹果官网推送可以收到离线消息,但是app发离线消息收不到,使用调试工具发现未知错误 答:说明获取token没问题,有可能上报token错误、或者证书错误。...②、苹果官网证书过期、密码错误等原因,未知错误可以先重新申请一个证书再运行看看 3、安卓点击通知栏,可以跳转到指定页面吗 答:暂时还不支持,只能按系统标准打开应用。...8、华为离线推送独特点。 答、华为离线推送集成方式有三点比较独特: 1、华为离线推送sdk不只需要集成sdk远程,还需要集成HMS Agent 套件

    6.1K151

    App Store上架iOS App详细流程

    然后将公司详细资料准备好,当他们发邮件要资料,需要快速给到他们。申请通过后,我们会收到邓白氏码,但是要半个月后才能使用,因为苹果需要同步数据。...2.2.4.5 推送P12证书制作 双击刚下载下来aps.cer文件,这时会在钥匙串中安装了APNs证书,右键将它导出为p12格式,设置密码,发给服务端人员推送使用,当服务端人员使用这个p12...证书需要密码。...App-Store58.png 4.6 勾选全屏显示(iPad) 勾选 Requires full screen: 不勾选的话,上传需要你实现iPad多任务分屏。...七、发布过程中遇到一些问题及解决 7.1 上传遇到错误 在使用Application Loader上传App遇到了一下问题,如下: 经分析:如果主要是缺少一些支持iPad图标、没有实现iPad

    1.4K10

    iOS中Bark及Bark Server搭建、安装和使用全指南

    引言 最近在找一个能实时通知消息工具。想到了使用企业微信, 钉钉等办法申请一个key就可以实现。但个人的话还是有些困难。 突然发现了Bark这个神器,优点是 免费、轻量!...简单调用接口即可给自己iPhone发送推送。 依赖苹果APNs,及时、稳定、可靠 不会消耗设备电量, 基于系统推送服务与推送扩展,APP本体并不需要运行。...隐私安全,可以通过一些方式确保包含作者本人在内所有人都无法窃取你隐私。 但是缺点就是只支持苹果, 不过实现起来超级简单且方便 Bark官网 https://bark.day.app/#/?...到这里就可以实现在项目中出现问题, 实时通知开发者功能了。...如果没有其它要求就可以不往下看了 Bark Server部署 Bark Server是Bark服务端组件。用户可以选择使用Bark官方服务器,或自行搭建私有服务器。

    2.5K20

    《透视HTTP协议》:快速了解HTTPSHTTP2HTTP3 变动改进点

    使用tls建立链接需要_选定一个加密套件进行安全通信*,同样*需要两端协商所以客户端会带上自己支持哪些加密套件clientsuites字段表示这些套件,serversuite是最终协商采用加密套件。..._ ssl是权威标准,比较知名实现是openssl(开源密码学工具包),一般nginx都是在openssl基础上实现tls功能 SSL加密 对称加密和非对称加密介绍,特点 tsl中使用加密解密算法分为对称和非对称加密...首先_客户端向服务端发送自己_ 支持哪些密码套件和客户端使用tls版本 *, *在带上一个_客户端随机数(clientrandom)_ ****随着clienthello发出 _服务端收到密码套间和客户端使用...,一是队头阻塞二是在下载文件可以使用这种方式实现并行下载 (一个下载一个tcp链接但是1.1要求请求只能在上一个请求响应回来后才能发送)开多个链接就可以间接并发发送多个请求了 由于http2有了stream...http3没有像1.0和2那样指定服务器端口号,原因是需要先通过http2进行链接然后通过http2里面的扩展帧来进行使用http3进行链接

    58410
    领券