You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the proxy displays any TLS connection it recieves as an HTTP CONNECT, since this is how it creates a TLS tunnel in order to send encrypted traffic.
What we want to happen:
From the perspective of the user, there's no such thing as a TLS connection. Everything should come through in plaintext.
Implementation notes / flow:
The browser sends a request to an URL on port 443 (A TLS CONNECT)
Our proxy negotiates the TLS tunnel between itself and the client, specifically using the self signed cert specified in the config
The client sends the plaintext HTTP request through the tunnel
Our proxy creates a new request struct, sends it off to its various consumers (the TUI, whatever else)
The last consumer it sends it to is a [function | module | thread] that creates a new tls connection to the server, sends the request along, and awaits the response (possibly with hyper_tls)
It receives the response, gets it back as a struct, informs the tui thread etc, and then sends it back down the tunnel
The rustls lib states this in it's "not supported" section:
Using CA certificates directly to authenticate a server/client (often called "self-signed certificates"). Rustls' default certificate verifier does not support using a trust anchor as both a CA certificate and an end-entity certificate in order to limit complexity and risk in path building.
I'm not sure if that is a blocker to using this library entirely, need to do some further digging here in order to make it happen
The text was updated successfully, but these errors were encountered:
Current State:
Currently the proxy displays any TLS connection it recieves as an
HTTP CONNECT
, since this is how it creates a TLS tunnel in order to send encrypted traffic.What we want to happen:
From the perspective of the user, there's no such thing as a TLS connection. Everything should come through in plaintext.
Implementation notes / flow:
CONNECT
)Further Resources:
rustls
lib states this in it's "not supported" section:The text was updated successfully, but these errors were encountered: