0

I'm currently writing my own https webserver at home which complies with (or will comply with, when I'm done with it, as I'm writing the webserver in C++) TLS 1.3. I have a Python client that I want to connect to this webserver. The webserver in question will only support elliptic curves (specifically ecdsa_secp256r1_sha256​) for the signature algorithm, which gets sent in the initiating client_handshake record. I want to connect to this https webserver via a Python client, and then issue an HTTP request (either GET or POST) to said server. Only problem is, I haven't the foggiest idea how to configure the signature algorithm for client socket connections in Python.

I've checked out the PyCryptoDome library (https://www.pycryptodome.org/src/signature/dsa) which seems to allow for the functionality that I need, but I haven't a clue how to integrate it with utilities such as urllib3's request function (which is what I had been using for testing purposes so far), or any similar.

I checked out http.client, but almost immediately ruled it out as it's far too simple of an implementation to allow for such a deep level of customisation.

I've also considered simply raw-dogging HTTP request headers and using sockets, so I checked out the SSL library for Python (https://docs.python.org/3/library/ssl.html#tls-1-3), and it explicitly states at the bottom that they don't support signature algorithm configuration as of yet (unless I completely misread it).

I'm at a complete loss at this point. Any help would be appreciated.

0

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.