Skip to main content

Log SSL/TLS keys for decrypting SSL/TLS connections

Project description

PyPI Documentation Status Build & Test Status

This is an implementation of the SSLKEYLOGFILE facility, available in Firefox and Chromium/Google Chrome, that is supported by Wireshark in order to decrypt SSL/TLS connections even when you don’t have the private key, or when using key exchange methods that will prevent decryption even if you do (Such as Diffie-Hellman).

This is for the standard library ssl module, it won’t work for other ssl modules.

Note:

Python 3.8+ includes built-in support for generating an SSL key log file via ssl.SSLContext.keylog_filename, and will also enable it when the SSLKEYLOGFILE environment variable is set when creating a context via ssl.create_default_context.

This package uses the same callback the built-in implementation is using, which will likely cause both implementations to trample each other, causing the other not to work, or other unintended consequences. As such, you should probably not enable both at the same time.

Quick Start

import os
import sslkeylog

sslkeylog.set_keylog(os.environ.get('SSLKEYLOGFILE'))  # Or directly specify a path

# Do anything involving SSL (Using the built-in ssl module)

Set the SSLKEYLOGFILE environment variable if you use it, and set “(Pre)-Master-Secret log filename” in Wireshark’s SSL protocol preferences to the resulting file.

License

MIT License, except OpenSSL which is licensed under it’s own license. See LICENSE.txt

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sslkeylog-0.5.2.tar.gz (5.6 MB view details)

Uploaded Source

File details

Details for the file sslkeylog-0.5.2.tar.gz.

File metadata

  • Download URL: sslkeylog-0.5.2.tar.gz
  • Upload date:
  • Size: 5.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sslkeylog-0.5.2.tar.gz
Algorithm Hash digest
SHA256 b12ea55a533a62624f30e8eb2b36c3e0e4e001b7a69398b58d7c9c5b5ff2283b
MD5 ce0d3845f5921b7eb96c3ec6a4426b58
BLAKE2b-256 a08face9f2c8f7e1e78e2f72b381fc9e7efc0256f2071c47a8684759c244ea1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for sslkeylog-0.5.2.tar.gz:

Publisher: publish.yml on segevfiner/sslkeylog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page