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.
Source Distribution
Built Distribution
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 |