chromium / web-page-replay

DEPRECATED - Use WebPageReplayGo instead:
https://github.com/catapult-project/catapult/blob/master/web_page_replay_go/README.md
Apache License 2.0
235 stars 75 forks source link

Use TLS SNI extension with pyOpenSSL #43

Open kimmok opened 9 years ago

kimmok commented 9 years ago

Use TLS SNI extension in the client, if pyOpenSSL is available.

This fixes resource fetches to https servers that require the extension. These are typically cdn servers.

Example of such server, without SNI:

$ openssl s_client -connect cdn3.vox-cdn.com:443 CONNECTED(00000003) 140434795792032:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:732: ...

With SNI:

$ openssl s_client -connect cdn3.vox-cdn.com:443 -servername cdn3.vox-cdn.com CONNECTED(00000003) depth=3 C = US, O = "The Go Daddy Group, Inc.", OU = Go Daddy Class 2 Certification Authority ....

iakshay commented 9 years ago

Can you record HTTPS pages? I'm still getting SSL proxy error

kimmok commented 9 years ago

Yeah. I had problems with some https sites (the ones requiring SNI), not all of them. So if you have problems with all HTTPS pages, you have a different problem :)

I'm using chromium with --ignore-certificate-errors. Also mainly using it with --testing-fixed-http-port=$1 --testing-fixed-https-port=$2 , though I tried to test also with the dns spoofing .

I don't have http or https proxies for the web-page-replay, though. I don't know if they work, and unfortunately I could not test if this patch breaks them or not..