Java 语言中,一条通过 SSLSocketFactory 创建的 SSLSocket,能否在进行 ssl 握手之前发送些数据? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
showmethetalk
1.15D
V2EX    Java

Java 语言中,一条通过 SSLSocketFactory 创建的 SSLSocket,能否在进行 ssl 握手之前发送些数据?

  •  
  •   showmethetalk Apr 12, 2023 1977 views
    This topic created in 1111 days ago, the information mentioned may be changed or developed.

    如题,我对该 API 不够熟悉,没找到相关方法和思路,希望能获得帮助。

    要求:使用现有 JSSE 接口的 TLS 实现,而不需要手搓 TLS 源码。

    kwh
        1
    kwh  
       Apr 12, 2023
    可以,用 netty 写一个代理,把非 https 请求的数据过滤出来做处理,然后把剩余的 https 的数据发送到服务器。
    showmethetalk
        2
    showmethetalk  
    OP
       Apr 12, 2023 via Android
    @kwh 好的,这是一条思路,不过业务简单不需要 netty (我不会),感谢解答
    showmethetalk
        3
    showmethetalk  
    OP
       Apr 12, 2023 via Android
    还有其它的更简单的思路吗,多一层代理需要额外占用一个端口
    showmethetalk
        4
    showmethetalk  
    OP
       Apr 12, 2023 via Android
    @kwh 不对,这样就不是同一条 socket 了,还是 netty 有特殊的能力可以这样,我先了解下 netty 吧
    showmethetalk
        5
    showmethetalk  
    OP
       Apr 12, 2023
    补充一条说明:这个 socket 是客户端的,要求握手之前和之后在同一条 socket 中
    kwh
        6
    kwh  
       Apr 12, 2023
    按照我目前的知识,只能通过代理来处理,还没听说过 tomcat 能自定义协议的。

    端口也不需要防火墙多开,让 tomcat 监听一个没通防火墙的端口,netty 通过本地与 tomcat 进行连接。

    客户端与 nettyf 服务器之间创建 channel ,然 netty 与服务器之间创建 channel 。netty 只是一个中间商用来过滤非 http 数据,让 tomcat 服务能处理。
    jackyzy823
        7
    jackyzy823  
       Apr 12, 2023
    不如先普通 socket,发送完之后再 Upgrade to SSLSocket?
    tony1016
        8
    tony1016  
       Apr 12, 2023   1
    多年没写 java 了,让我来看看接口
    abstract Socket createSocket(Socket s, String host, int port, boolean autoClose)
    Returns a socket layered over an existing socket connected to the named host, at the given port.
    既然可以接受已经存在的 socket ,那么完全可以写完后再创建 sslsocket
    showmethetalk
        10
    showmethetalk  
    OP
       Apr 13, 2023
    @SoloCompany 非常感谢
    showmethetalk
        11
    showmethetalk  
    OP
       Apr 13, 2023
    @tony1016 非常感谢
    About     Help     Advertise     Blog     API     FAQ     Solana     1045 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 47ms UTC 22:50 PVG 06:50 LAX 15:50 JFK 18:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86