Skip to main content

Welcome to pytls13 !

pytls13 implements a TLS 1.3 client and relies on pylurk for all cryptographic operations related to the client authentication.

pytl13 can be used as follows:

$ cd examples/cli/
$ ./tls_client --connectivity 'lib_cs' https://www.google.com

pytls13 leverages the Limited Use of Remote Keys (LURK) framework as well as it extension for TLS 1.3. draft-mglt-lurk-lurk draft-mglt-lurk-tls13. LURK is a generic protocol whose purpose is to support specific interactions with a given cryptographic material, which is also known as Cryptographic Service (CS). In our case pytls13 implements the TLS Engine (E) while pylurk implements the CS as depicted below:

+----------------------------+
|       TLS Engine (E)       |
+------------^---------------+
             | (LURK/TLS 1.3)
+------------v---------------+
| Cryptographic Service (CS) |
| private_keys               |
+----------------------------+

TLS being split into a CS and an Engine

pytls13 documentation provides Examples of TLS 1.3 client and Using pytls13 and pylurk sections with detailed examples on how to combine the TLS engine (E) and the Crypto Service (CS) with. The LURK-T TLS 1.3 client section providing a complete example where the CS runs into a Trusted Execution Enclave (TEE) - SGX in our case.

Installation

Currently the cli scripts are not installed via pip3 package, so one need to install it manually from the git repo.

The simple installation is as follows:

  1. Install pytls13 and pylurk from the git repo.
 `git clone https://github.com/mglt/pytls13.git`
 `git clone https://github.com/mglt/pylurk.git tls13`. Note that for a very limited usage pip3 pylurk maybe sufficient. 
3. Update in `tls_client`, in pytls13.git/example/cli`
* `CS_GRAMINE_DIR`: the location of the `pylurk.git/example/cli` directory
* `GRAMINE_DIR` the directory of the Gramine directory
* The path of the `pylurk` and `pytls13` modules indicated by the `sys.path.insert` directive.

For a more advamce usage - that is the CS please follow the `pylurk` installation steps.

For a more advance us involving to use of TEE please install Gramine.

## TODO:

* Include the cli in the pip3 package.
* Implement a tls server
* Re-organize classes and move TLS generic classes from tls_client_handler to tls_hanlder. 
* Implement the post handshake authentication as well as 0-rtt
* Provide more standard TLS client API / server.  

Metadata

Release files for pytls13 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytls13 0.0.1
File Size Uploaded
pytls13-0.0.1.tar.gz 2.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytls13 0.0.1
File Interpreter ABI Platform
pytls13-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 4.7 kB

Release files / pytls13-0.0.1.tar.gz

Download URL pytls13-0.0.1.tar.gz
Size 2.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5940f9370f53acb3f2a04ea854b0779254b92e66353845fbfcd0a2b57f7f8e12
BLAKE2b-256 checksum
How to use checksums
09e7048795a386b4a7a68169d3ac58647b6ba64186fb28a04ebb36734e7698eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / pytls13-0.0.1-py3-none-any.whl

Download URL pytls13-0.0.1-py3-none-any.whl
Size 2.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5a58d6008dea27643b741c74e197f3671974e8131981eb7e2d90e84ea36a729a
BLAKE2b-256 checksum
How to use checksums
673a4cdd1a59770356c7f8b3e3d143b7927ebfdf9e50c2e80d074e7f3c81a2be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page