
如题,我对该 API 不够熟悉,没找到相关方法和思路,希望能获得帮助。
要求:使用现有 JSSE 接口的 TLS 实现,而不需要手搓 TLS 源码。
1 kwh Apr 12, 2023 可以,用 netty 写一个代理,把非 https 请求的数据过滤出来做处理,然后把剩余的 https 的数据发送到服务器。 |
2 showmethetalk OP @kwh 好的,这是一条思路,不过业务简单不需要 netty (我不会),感谢解答 |
3 showmethetalk OP 还有其它的更简单的思路吗,多一层代理需要额外占用一个端口 |
4 showmethetalk OP @kwh 不对,这样就不是同一条 socket 了,还是 netty 有特殊的能力可以这样,我先了解下 netty 吧 |
5 showmethetalk OP 补充一条说明:这个 socket 是客户端的,要求握手之前和之后在同一条 socket 中 |
6 kwh Apr 12, 2023 按照我目前的知识,只能通过代理来处理,还没听说过 tomcat 能自定义协议的。 端口也不需要防火墙多开,让 tomcat 监听一个没通防火墙的端口,netty 通过本地与 tomcat 进行连接。 客户端与 nettyf 服务器之间创建 channel ,然 netty 与服务器之间创建 channel 。netty 只是一个中间商用来过滤非 http 数据,让 tomcat 服务能处理。 |
7 jackyzy823 Apr 12, 2023 不如先普通 socket,发送完之后再 Upgrade to SSLSocket? |
8 tony1016 Apr 12, 2023 多年没写 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 |
9 SoloCompany Apr 12, 2023 |
10 showmethetalk OP @SoloCompany 非常感谢 |
11 showmethetalk OP @tony1016 非常感谢 |