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