Skip to content

Support client cert; respect SNI#16

Merged
ickerwx merged 2 commits intoickerwx:masterfrom
AdrianVollmer:client-cert
Jul 1, 2020
Merged

Support client cert; respect SNI#16
ickerwx merged 2 commits intoickerwx:masterfrom
AdrianVollmer:client-cert

Conversation

@AdrianVollmer
Copy link
Copy Markdown
Contributor

This PR does three things:

  • add the support for TLS client certificates
  • add ability to use a mitm cert at an arbitrary location (the old mitm.pem is the default)
  • reuse the hostname from the SNI extension as indicated by the client when performing the handshake with the server

What do you think?

Clients typically fill in the SNI (server name indication) extension to
indicate which (virtual host) they want to connect to, since a server
with one IP address can host several virtual servers. Since the
args.target_ip variable is always normalized to the IP which the given
target resolves to, we use the callback function to retrieve the clients
SNI and reuse that hostname when establishing the connection to the
target.
@ickerwx
Copy link
Copy Markdown
Owner

ickerwx commented Jun 24, 2020

Hi Adrian,

thanks a lot for that, it looks great. I'll merge everything after I tried it myself, but I won't be able to try this out before the weekend. From looking at the changes I don't think there will be any problems.

@ickerwx ickerwx merged commit 337d3a1 into ickerwx:master Jul 1, 2020
@ickerwx
Copy link
Copy Markdown
Owner

ickerwx commented Jul 1, 2020

Tested, works, thank you very much.

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.

2 participants