当前位置: 首页 > news >正文

哪家网站制作 优帮云wordpress 暗盒

哪家网站制作 优帮云,wordpress 暗盒,青岛搜索推广排名,做设备推广的网站最近在工作中#xff0c;调外部接口#xff0c;发现在clientHello步骤报错#xff0c;服务端没有返回serverHello。 从网上找了写方法#xff0c;都没有解决#xff1b; 在idea的vm options加上参数#xff1a; -Djavax.net.debugSSL,handshake 把SSL和handshake的日…最近在工作中调外部接口发现在clientHello步骤报错服务端没有返回serverHello。 从网上找了写方法都没有解决 在idea的vm options加上参数 -Djavax.net.debugSSL,handshake 把SSL和handshake的日志打印出来看到的异常日志如下 ClientHello: {client version : TLSv1.2,random : 6A 07 F0 0E B6 96 23 B2 35 2D CD 3E 2B 7B D2 E5 14 B8 43 A9 44 24 0C B8 62 29 AD C5 7A C4 EE 16,session id : 82 48 DC 04 FA CF 39 4B BF 38 52 7F 4E B7 42 ED DD 48 4F 38 CA 9E 68 96 39 79 AA 2E B4 A4 2E FB,cipher suites : [TLS_AES_256_GCM_SHA384(0x1302), TLS_AES_128_GCM_SHA256(0x1301), TLS_DHE_RSA_WITH_AES_256_GCM_SHA384(0x009F), TLS_DHE_DSS_WITH_AES_256_GCM_SHA384(0x00A3), TLS_DHE_RSA_WITH_AES_128_GCM_SHA256(0x009E), TLS_DHE_DSS_WITH_AES_128_GCM_SHA256(0x00A2), TLS_DHE_RSA_WITH_AES_256_CBC_SHA256(0x006B), TLS_DHE_DSS_WITH_AES_256_CBC_SHA256(0x006A), TLS_DHE_RSA_WITH_AES_128_CBC_SHA256(0x0067), TLS_DHE_DSS_WITH_AES_128_CBC_SHA256(0x0040), TLS_DHE_RSA_WITH_AES_256_CBC_SHA(0x0039), TLS_DHE_DSS_WITH_AES_256_CBC_SHA(0x0038), TLS_DHE_RSA_WITH_AES_128_CBC_SHA(0x0033), TLS_DHE_DSS_WITH_AES_128_CBC_SHA(0x0032), TLS_RSA_WITH_AES_256_GCM_SHA384(0x009D), TLS_RSA_WITH_AES_128_GCM_SHA256(0x009C), TLS_RSA_WITH_AES_256_CBC_SHA256(0x003D), TLS_RSA_WITH_AES_128_CBC_SHA256(0x003C), TLS_RSA_WITH_AES_256_CBC_SHA(0x0035), TLS_RSA_WITH_AES_128_CBC_SHA(0x002F), TLS_EMPTY_RENEGOTIATION_INFO_SCSV(0x00FF)],compression methods : 00,extensions : [server_name (0): {typehost_name (0), value},supported_groups (10): {versions: [ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192]},ec_point_formats (11): {formats: [uncompressed]},signature_algorithms (13): {signature schemes: [ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, ecdsa_secp521r1_sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, dsa_sha256, ecdsa_sha1, rsa_pkcs1_sha1, dsa_sha1]},signature_algorithms_cert (50): {signature schemes: [ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, ecdsa_secp521r1_sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, dsa_sha256, ecdsa_sha1, rsa_pkcs1_sha1, dsa_sha1]},extended_master_secret (23): {empty},supported_versions (43): {versions: [TLSv1.3, TLSv1.2]},psk_key_exchange_modes (45): {ke_modes: [psk_dhe_ke]},key_share (51): {client_shares: [ {named group: ffdhe2048key_exchange: {0000: 48 B1 7A 2B B0 D1 81 13 EB E1 76 E2 29 8C 1A E3 H.z......v.)...0010: 04 24 17 44 45 25 F0 1B 07 18 49 D8 5E 33 1D B1 .$.DE%....I.^3..0020: B8 EC 51 29 AA 33 4B 2C 2A 61 BB 45 E7 F4 E2 94 ..Q).3K,*a.E....0030: 95 31 7C 9E B7 28 78 75 C1 68 10 82 E5 77 0C 98 .1...(xu.h...w..0040: 8E F2 69 4A DB 37 0C B7 AE B4 3E D4 A6 6D 79 2B ..iJ.7......my0050: C7 80 B4 C0 BB C9 AD A1 EF B8 C5 B1 66 75 68 9E ............fuh.0060: F9 F4 F0 C4 2F E7 E2 4C 12 FC 68 66 59 5D B7 D2 ..../..L..hfY]..0070: 35 0F D2 8E 37 90 1B F0 FD EC 9C 60 16 0C 83 FA 5...7..........0080: BB 8E 2B 7E F9 C2 5E 06 85 76 95 A1 52 04 EF CB .....^..v..R...0090: EF 44 07 58 2F 2A D5 B2 8D B9 32 11 4D D9 07 65 .D.X/*....2.M..e00A0: D1 C6 F3 40 54 4F 92 48 E5 07 D9 23 42 BE AD 9A ...TO.H...#B...00B0: 2D AD 9D AB C0 CA D4 4A 37 5F CC DF B6 3B D2 D8 -......J7_...;..00C0: D0 CE 4F F1 74 92 81 53 C2 B6 77 2C 76 D1 66 A5 ..O.t..S..w,v.f.00D0: 14 21 1A 2B F7 E3 E1 F4 9D 98 D6 8D 9E 32 35 80 .!..........25.00E0: 1F 6A 01 D1 DE 31 42 E5 0D 19 F7 67 85 77 4C CC .j...1B....g.wL.00F0: 2B 62 FD F0 DE 27 68 1D B1 09 40 83 C7 E4 47 7C b...h......G.}},]}] } ) javax.net.ssl|FINE|B4|http-nio-8099-exec-1|2024-07-07 10:20:42.945 CST|Alert.java:238|Received alert message ( Alert: {level : fatal,description: handshake_failure } ) 最终报出来的错误是javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure 握手失败。 在别的项目中使用相同的工具类进行调用使用相同的jdk版本是可以正常调用的对比两者的clienthello报文发现客户端所支持的加密套件是不一样的调用失败的请求明显少了一些套件 这是正常请求的报文 ClientHello: {client version : TLSv1.2,random : A6 F3 8F E9 EA 8C 1C 91 D8 33 EC E9 70 3C 12 05 96 63 EF B0 24 7E 09 65 08 50 74 98 A8 65 F3 08,session id : 02 31 3F 18 F0 35 E3 B9 15 87 D3 D1 A1 A7 59 E7 DD ED 28 07 1D 56 DF 28 64 B6 82 21 D7 9C 79 E6,cipher suites : [TLS_AES_256_GCM_SHA384(0x1302), TLS_AES_128_GCM_SHA256(0x1301), TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384(0xC02C), TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256(0xC02B), TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(0xC030), TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256(0xC02F), TLS_DHE_RSA_WITH_AES_256_GCM_SHA384(0x009F), TLS_DHE_DSS_WITH_AES_256_GCM_SHA384(0x00A3), TLS_DHE_RSA_WITH_AES_128_GCM_SHA256(0x009E), TLS_DHE_DSS_WITH_AES_128_GCM_SHA256(0x00A2), TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384(0xC024), TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384(0xC028), TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256(0xC023), TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256(0xC027), TLS_DHE_RSA_WITH_AES_256_CBC_SHA256(0x006B), TLS_DHE_DSS_WITH_AES_256_CBC_SHA256(0x006A), TLS_DHE_RSA_WITH_AES_128_CBC_SHA256(0x0067), TLS_DHE_DSS_WITH_AES_128_CBC_SHA256(0x0040), TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384(0xC02E), TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384(0xC032), TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256(0xC02D), TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256(0xC031), TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384(0xC026), TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384(0xC02A), TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256(0xC025), TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256(0xC029), TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA(0xC00A), TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA(0xC014), TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA(0xC009), TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA(0xC013), TLS_DHE_RSA_WITH_AES_256_CBC_SHA(0x0039), TLS_DHE_DSS_WITH_AES_256_CBC_SHA(0x0038), TLS_DHE_RSA_WITH_AES_128_CBC_SHA(0x0033), TLS_DHE_DSS_WITH_AES_128_CBC_SHA(0x0032), TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA(0xC005), TLS_ECDH_RSA_WITH_AES_256_CBC_SHA(0xC00F), TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA(0xC004), TLS_ECDH_RSA_WITH_AES_128_CBC_SHA(0xC00E), TLS_RSA_WITH_AES_256_GCM_SHA384(0x009D), TLS_RSA_WITH_AES_128_GCM_SHA256(0x009C), TLS_RSA_WITH_AES_256_CBC_SHA256(0x003D), TLS_RSA_WITH_AES_128_CBC_SHA256(0x003C), TLS_RSA_WITH_AES_256_CBC_SHA(0x0035), TLS_RSA_WITH_AES_128_CBC_SHA(0x002F), TLS_EMPTY_RENEGOTIATION_INFO_SCSV(0x00FF)],compression methods : 00,extensions : [server_name (0): {typehost_name (0), value},supported_groups (10): {versions: [secp256r1, secp384r1, secp521r1, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192]},ec_point_formats (11): {formats: [uncompressed]},signature_algorithms (13): {signature schemes: [ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, ecdsa_secp521r1_sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, dsa_sha256, ecdsa_sha1, rsa_pkcs1_sha1, dsa_sha1]},signature_algorithms_cert (50): {signature schemes: [ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, ecdsa_secp521r1_sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, dsa_sha256, ecdsa_sha1, rsa_pkcs1_sha1, dsa_sha1]},extended_master_secret (23): {empty},supported_versions (43): {versions: [TLSv1.3, TLSv1.2]},psk_key_exchange_modes (45): {ke_modes: [psk_dhe_ke]},key_share (51): {client_shares: [ {named group: secp256r1key_exchange: {0000: 04 64 F2 B7 51 E2 D6 1B 11 00 7D 59 58 62 90 3E .d..Q......YXb.0010: 03 8F 7C 16 92 D7 EA 81 D3 D1 3C 58 4E 4F 29 20 ..........XNO) 0020: 1B 49 EA AD 84 D1 B6 60 77 77 77 90 60 C5 50 98 .I.....www..P.0030: 50 CC 48 D3 8E 12 B6 11 A3 AE 43 24 7F 66 AE 9B P.H.......C$.f..0040: EB }},]}] } ) javax.net.ssl|FINE|01|main|2024-07-07 10:26:02.678 CST|ServerHello.java:863|Consuming ServerHello handshake message ( ServerHello: {server version : TLSv1.2,random : D4 8E 8D 8D D9 07 97 2B 7E 17 55 36 14 D3 14 9D 77 20 55 13 67 0E F1 61 B9 AA 1F 49 3D B6 A4 07,session id : 4E EE F7 CA B5 B1 AB C9 7D 79 0B 9E AC 21 84 1D EE C7 E8 66 C7 E3 D9 F3 DC 61 79 FF 7D 59 05 72,cipher suite : TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(0xC030),compression methods : 00,extensions : [renegotiation_info (65,281): {renegotiated connection: [no renegotiated connection]},server_name (0): {empty extension_data field},ec_point_formats (11): {formats: [uncompressed, ansiX962_compressed_prime, ansiX962_compressed_char2]},extended_master_secret (23): {empty}] } ) 两者对比可以发现服务端选择了TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384加密套件正常请求是有这个套件的而失败的请求是没有这个套件的 解释一下这个加密套件TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 是一个提供强安全性的加密套件它结合了ECDHE密钥交换的前向安全性、RSA的广泛接受度、AES_256_GCM的高效加密和认证能力以及SHA384的强哈希功能。这种套件通常用于需要高安全性的通信例如金融服务、政府通信或其他敏感数据传输。 ECDHE: 椭圆曲线Diffie-Hellman密钥交换Elliptic Curve Diffie-Hellman Ephemeral。这是一种密钥交换机制使用椭圆曲线加密算法来生成一个临时的共享密钥用于加密会话密钥。 可以简单理解这是个ECC的椭圆机密曲线那有没有可能就是因为项目的某些配置导致ECC椭圆加密曲线缺失了 我本人对这个方面的研究不深到达了我的知识盲区刚好身边有个博士做过这方面的研究他所在的团队实现了TLS1.3的一个版本对这个非常熟悉请他看了一下日志可以判断也是缺少椭圆曲线 既然大概确定是缺少某些东西导致调用报错那就想办法把原因找出来 经过了一天的努力终于发现了问题所在之前有个哥们不知道因为什么原因把SUN公司的ECC曲线都删掉了导致了问题 现在公布这个罪魁祸首 static {Security.removeProvider(SunEC);} 问了KIMI它的回答是这样的 在Java中Security 类是 java.security 包的一部分它提供了一些管理安全属性和访问安全服务的方法。Security 类中的 removeProvider 方法用于从安全框架中移除一个已经注册的提供者。这里的 SunEC 是一个提供者的名称它代表Sun公司提供的椭圆曲线加密ECC服务。椭圆曲线加密是一种基于椭圆曲线数学的公钥密码体系它在TLS握手中用于密钥交换和数字签名等操作。在TLS握手过程中如果客户端和服务器都支持ECC它们可能会选择使用基于ECC的加密套件来进行通信因为它们通常提供与RSA相比更高的安全性并且密钥尺寸更小。当你执行 Security.removeProvider(SunEC) 这行代码时你告诉Java安全框架不再使用 SunEC 提供者的服务。这可能导致以下问题移除关键加密服务: 如果SunEC提供者是用于TLS握手中ECC相关操作的唯一提供者那么移除它可能会导致Java虚拟机无法使用ECC加密套件这可能违反了客户端和服务器之间的安全协议。TLS握手失败: 如果客户端尝试使用ECC加密套件与服务器进行握手但服务器期望使用SunEC提供者支持的特定加密算法而该提供者已被移除这可能导致握手失败。兼容性问题: 某些TLS库或服务器可能特别依赖于特定的加密提供者。移除SunEC可能会影响到这些库或服务器的兼容性。安全漏洞: 如果你的应用程序依赖于ECC提供的安全性移除SunEC提供者可能会降低安全性使应用程序容易受到某些类型的攻击。配置错误: 如果SunEC提供者被用于支持某些特定的业务逻辑或安全策略移除它可能会导致应用程序行为不符合预期。要解决这个问题你可以考虑以下步骤审查代码: 检查为什么需要移除SunEC提供者是否有其他方式可以实现相同的目标而不需要移除整个提供者。错误日志: 查看TLS握手失败的错误日志了解具体是哪个步骤失败了以及是否与ECC相关。恢复提供者: 如果确定移除SunEC是导致问题的原因尝试恢复它看看是否能解决问题。更新依赖: 如果你的应用程序依赖于特定的加密库或版本确保这些依赖是最新的并且与你的Java版本兼容。联系服务提供者: 如果问题依然存在可能需要联系服务提供者或寻求专业的技术支持。在处理这类问题时重要的是要理解你的应用程序对特定加密服务的依赖程度以及这些服务如何与TLS握手过程相互作用。 接下来的工作就是看要不要删除这行代码删除之后会不会对以前的功能有影响需要回归测试。 这个问题困扰了我好久感觉http、https吃得不透啊需要去看一下《TCP/IP详解》这种经典了。
http://www.w-s-a.com/news/487411/

相关文章:

  • 中国沈阳网站在哪里下载中国移动营销策略分析
  • 建设银行 钓鱼网站360免费建站教程
  • wordpress全站cdn网站运营年度推广方案
  • 成都网站开发培训机构网站开发 实习报告
  • 廊坊网站建设佛山厂商wordpress神主题
  • 成县建设局网站中国建筑有几个工程局
  • 网站打不开被拦截怎么办单页面网站制作
  • 关于协会网站建设的建议设计公司名字参考
  • 怎样申请做p2p融资网站页面设计时最好使用一种颜色
  • 一般做网站上传的图片大小网站软件设计
  • 用来网站备案注册什么公司好wordpress怎么搜索中文主题
  • 网站开发 打标签深圳软件公司排名
  • 邯郸的网站建设电子网站怎么做的
  • 中国企业信用网四川游戏seo整站优化
  • 下载站推广wordpress扩展字段
  • 网站建设这个工作怎么样免费电子版个人简历模板
  • 移动网站设计与制作网站开发接私活
  • 视频制作素材网站wordpress mysql 被删
  • 静态网站 模板公司一般都用什么邮箱
  • 做网站效果图是用ps还是ai泰安人才网最新招聘信息2022年
  • 免费建站网站一级大录像不卡在线看网页郑州网站关键
  • 做网站 然后百度推广哈尔滨建筑网
  • 章丘营销型网站建设网站测评必须做
  • 营销者网站怎么把网站黑了
  • 律师事务所手机网站校园网站设计
  • 网站案例展示分类网站响应速度优化
  • 风景网站的制作网站ip地址查询域名
  • 怎样看网站是谁做的马鞍山什么房产网站做的好
  • 西安推荐企业网站制作平台软装设计方案ppt
  • 网站静态页模板专业网站设计开发公司