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.Context
class.
from openssl_psk import patch_context patch_context()
Server Methods
-
Context.use_psk_identity_hint(hint: bytes) -> None
Set the server PSK identity hint.
-
Context.set_psk_server_callback(callback: server_callback) -> None
Set a callback to populate the server PSK.
server_callback(connection: Connection, client_identity: bytes) -> psk: bytes
User 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) -> None
Set 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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size pyopenssl_psk-1.0.0-py2.py3-none-any.whl (7.6 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes View |
Filename, size pyopenssl-psk-1.0.0.tar.gz (7.4 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for pyopenssl_psk-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50672100e4ef0fa76860e6075eb274fead16296cde5895277e52517e8dea8843 |
|
MD5 | 2efc229dce3dea38f8a88f75c05bfcae |
|
BLAKE2-256 | 341b463a1815ae4915292152590cf8c6778f0071d6b1bacecdf30873150788e9 |