How to Decrypt HTTPS on Windows in Wireshark

Check out these great references as well:

 Our custom profiles repository for Wireshark
 Our Udemy course on Wireshark 
 Our Udemy course on Wireless Packet capture

Whenever your web browser connects to a web server using HTTPS, a secure connection is established, keys are exchanged, and the traffic is encrypted.  We won’t spend any time in this article describing that HTTPS process, instead we will focus on how you can decrypt the encrypted traffic using Wireshark.

There are a couple of environment constraints in this explanation:

  1. We are on Windows with administrative privileges
  2. We are using the Chrome web browser

The step by step is illustrated in this video, followed by the instructions:

The steps I followed were (you must follow each of these steps):

  1. Windows Start> Environment Variables  (just start typing) – a System Properties dialogue will appear.
  2. Click on the Environment Variables button (bottom right) – an Environment Variables dialogue appears.
  3. On the top half of that dialogue (User Variables) – click New
  4. An input box appears, in the Variable Name field enter: “SSLKEYLOGFILE”
  5. In the Variable Value field enter a path to where you want to store the keys: “C:\Users\user1\sslkeylog.txt” as an example
  6. Click on OK – you should see the new variable in the list.
  7. Click on OK to close the Environment Variables dialogue.
  8. Click on OK to close the System Properties dialogue.
  9. Now Reboot.
  10. Once rebooted, launch either Chrome or Firefox.
  11. Open Wireshark and start a capture.
  12. In Wireshark, go to Edit> Preferences> Protocols> TLS
  13. In the Pre-Master Secret log filename box, browse to and select the file you created in Step 5.  Make sure the entire path is in there.
  14. Click OK and close the dialogue.

Back in Wireshark, you will see that Wireshark will now use the saved keys to decrypt anything your machine is capturing using that browser.

You can open the log file in a text editor.  You can search the log file for the client random field, and cut and paste the key pairs into a stand alone file and send them to another machine to decrypt the traffic elsewhere.

I hope this video helps and explains.  I welcome comments below.

You may want to check on my separate article on SSL/TLS decryption using Key files here.

I hope you find this article and its content helpful.  Comments are welcomed below.  If you would like to see more articles like this, please support us by clicking the patron link where you will receive free bonus access to courses and more, or simply buying us a cup of coffee!, and all comments are welcome!

Leave a Comment

Contact Us Here

Please verify.
Validation complete :)
Validation failed :(
Your contact request has been received. We usually respond within an hour, but please be patient. We will get back to you very soon.
Scroll to Top