Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a force_tls_destination flag for forcing secure connection to destination #148

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

nsobadzhiev
Copy link

The use case

  • I'm developing an app using gRPC and I'm connecting to a stage/prod service running remotely
  • I want to sniff the traffic and forward it to the remote service

The problem

I know that I can import a certificate that my system trusts and establish 2 TLS sessions (app <> grpc-dump and grpc-dump <> remote server), but that's additional hassle. I'd much rather connect insecurely my app to grpc-dump, and then have grpc-dump connect securely to the remote server.

This, ofc, assumes I have the power to change my app's code and allow it to create plain text connections to a server. Whereas I agree that this is not the most correct and black-box way to do it, I think it's much more convenient for a lot of people.

Solution

Add a flag to the cli that forces grpc-dump to establish a TLS connection even if the original connection it is trying to relay is plain text.
Default value: false
If the value is false at runtime, only use TLS if the original request was also TLS secured.

Any input is appreciated, and I'm sorry if the code is not perfect - this is my first Go code :)

I hope you'll find this feature useful or interested. Or not, I'll keep it to myself :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant