Add PSK support to pyOpenSSL
Project description
pyopenssl-psk
Add PSK support to pyOpenSSL.
Installation
$ pip install pyopenssl-psk
API
Patch Method
-
patch_context()Add PSK related methods to the
OpenSSL.SSL.Contextclass.
from openssl_psk import patch_context
patch_context()
Server Methods
-
Context.use_psk_identity_hint(hint: bytes) -> NoneSet the server PSK identity hint.
-
Context.set_psk_server_callback(callback: server_callback) -> NoneSet a callback to populate the server PSK.
server_callback(connection: Connection, client_identity: bytes) -> psk: bytesUser provided callback function to populate the connection PSK.
from OpenSSL.SSL import Context, Connection, TLSv1_2_METHOD
PSK_MAP = {
b'pre_shared_key_identity': b'pre_shared_key',
}
def server_callback(conn, client_identity):
return PSK_MAP[client_identity]
ctx = Context(TLSv1_2_METHOD)
ctx.set_cipher_list(b'PSK')
ctx.use_psk_identity_hint(b'pre_shared_key_identity_hint')
ctx.set_psk_server_callback(server_callback)
server = Connection(ctx)
Client Methods
-
Context.set_psk_client_callback(callback: client_callback) -> NoneSet a callback to populate the client PSK identity and PSK.
client_callback(connection: Connection, identity_hint: bytes) -> tuple(psk_identity: bytes, psk: bytes)User provided callback function to populate the connection PSK identity and PSK.
from OpenSSL.SSL import Context, Connection, TLSv1_2_METHOD
def client_callback(conn, identity_hint):
return (b'pre_shared_key_identity', b'pre_shared_key')
ctx = Context(TLSv1_2_METHOD)
ctx.set_cipher_list(b'PSK')
ctx.set_psk_client_callback(client_callback)
client = Connection(ctx)
See OpenSSL.SSL documentation for more information.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyopenssl-psk-1.0.0.tar.gz.
File metadata
- Download URL: pyopenssl-psk-1.0.0.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
411bdf469d85f9f3009662196bd2d103a01e3d972dcd7680b89fc950fa8c9500
|
|
| MD5 |
9b8999f14a2b3b65aeba421debb57793
|
|
| BLAKE2b-256 |
b7b7d180474eee89b39a44f8622db8a800d3292458e990cd06ac31d602f6cf1c
|
File details
Details for the file pyopenssl_psk-1.0.0-py2.py3-none-any.whl.
File metadata
- Download URL: pyopenssl_psk-1.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50672100e4ef0fa76860e6075eb274fead16296cde5895277e52517e8dea8843
|
|
| MD5 |
2efc229dce3dea38f8a88f75c05bfcae
|
|
| BLAKE2b-256 |
341b463a1815ae4915292152590cf8c6778f0071d6b1bacecdf30873150788e9
|