Skip to main content

Pure python implementation of SSL and TLS.

Project description

tlslite-ng is a pure python implementation of SSLv3.0, TLS 1.0, TLS 1.1, TLS 1.2 and TLS 1.3 protocols.

It can use pycrypto, m2crypto and gmp for acceleration of cryptographic operations but is not dependant upon them.

Functionality implemented include:
  • all above mentioned protocols, including support for client certificates (RFC 6101, RFC 2246, RFC 4346, RFC 5246, RFC 8446 - not complete)

  • RSA, RSA-PSS, DSA, and ECDSA certificates

  • RC4, 3DES-CBC, AES-CBC, AES-GCM, AES-CCM, AES-CCM_8 and ChaCha20 ciphers (RFC 5246, RFC 6347, RFC 4492, RFC 5288, RFC 5289, RFC 7539, RFC 7905, RFC 6655, RFC 7251)

  • MD5, SHA1, SHA256 and SHA384 HMACs as well as AEAD mode of operation with GCM or Poly1305 authenticator

  • RSA, DHE_RSA, DHE_DSS, ECDHE_RSA, ECDHE_ECDSA key exchange

  • full set of signature hashes (md5, sha1, sha224, sha256, sha384, sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384 and rsa_pss_rsae_sha512) for ServerKeyExchange and CertfificateVerify

  • secp256r1, secp384r1, secp521r1, secp256k1, secp224r1 and secp192r1 curves for ECDHE key exchange (support for last two depends on the version of ecdsa library used)

  • x25519 and x448 curves for ECDHE key exchage (RFC 7748. RFC 4492bis)

  • anonymous DHE key exchange

  • anonymous ECDH key exchange

  • PSK and PSK-DH key exchange in TLS 1.3

  • session ticket based resumption (RFC 5077) and in TLS 1.3

  • post-handshake client authentication in TLS 1.3

  • NULL encryption ciphersuites

  • FALLBACK_SCSV (RFC 7507)

  • encrypt-then-MAC mode of operation for CBC ciphersuites (RFC 7366)

  • TACK certificate pinning

  • SRP_SHA_RSA and SRP_SHA ciphersuites (RFC 5054)

  • Extended Master Secret calculation for TLS connections (RFC 7627)

  • padding extension (RFC 7685)

  • Keying material exporter (RFC 5705)

  • Next Protocol Negotiation

  • Application-Layer Protocol Negotiation Extension (RFC 7301)

  • FFDHE prime/group negotiation (RFC 7919)

  • Heartbeat Extension (RFC 6520)

  • Record Size Limit (RFC 8449)

  • TLS Certificate Compression (RFC 8879)

  • Hybrid ML-KEM key exchage groups (draft-kwiatkowski-tls-ecdhe-mlkem-02)

  • support for Brainpool curves in TLS 1.2 and TLS 1.3

tlslite-ng aims to be a drop-in replacement for tlslite while providing more comprehensive set of features and more secure defaults.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

tlslite_ng-0.8.2.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

tlslite_ng-0.8.2-py3-none-any.whl (297.0 kB view details)

Uploaded Python 3

File details

Details for the file tlslite_ng-0.8.2.tar.gz.

File metadata

  • Download URL: tlslite_ng-0.8.2.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.8

File hashes

Hashes for tlslite_ng-0.8.2.tar.gz
Algorithm Hash digest
SHA256 9ac377526c60a7d6e7625bd49e7a5ae551b12b0465b07d691342c64a0b3e8440
MD5 247f7b2ba7f23da25db1e4d9c3502d64
BLAKE2b-256 ffd1f6572100f6d6ddb31d7356d7c670599bf404b744ce9bb3c6728bde3665f3

See more details on using hashes here.

File details

Details for the file tlslite_ng-0.8.2-py3-none-any.whl.

File metadata

  • Download URL: tlslite_ng-0.8.2-py3-none-any.whl
  • Upload date:
  • Size: 297.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.8

File hashes

Hashes for tlslite_ng-0.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bc17945ab48c7a2ecb16ae9d4b32cf976bfd67d7db74c0fedc093f9094e49ae5
MD5 9a585d03d98d348bd7ad7a694d749602
BLAKE2b-256 1ffc3ffc45068af0d088eb8fe3da1b96b4f41049a3a6e583a8f0dc9df48996f9

See more details on using hashes here.

Supported by

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