I'd like to expose a simple TCP server written in Python to the internet. To authenticate clients, I'd like to rely on both client and server certificates. Does socketserver.TCPServer support this mode by default? If not, can you suggest how to extend the server to implement mutual authentication?
How can I enforce mutual authentication using Python's socketserver.TCPServer?
1.7k Views Asked by Willi Ballenthin At
1
There are 1 best solutions below
Related Questions in PYTHON
- How to store a date/time in sqlite (or something similar to a date)
- Instagrapi recently showing HTTPError and UnknownError
- How to Retrieve Data from an MySQL Database and Display it in a GUI?
- How to create a regular expression to partition a string that terminates in either ": 45" or ",", without the ": "
- Python Geopandas unable to convert latitude longitude to points
- Influence of Unused FFN on Model Accuracy in PyTorch
- Seeking Python Libraries for Removing Extraneous Characters and Spaces in Text
- Writes to child subprocess.Popen.stdin don't work from within process group?
- Conda has two different python binarys (python and python3) with the same version for a single environment. Why?
- Problem with add new attribute in table with BOTO3 on python
- Can't install packages in python conda environment
- Setting diagonal of a matrix to zero
- List of numbers converted to list of strings to iterate over it. But receiving TypeError messages
- Basic Python Question: Shortening If Statements
- Python and regex, can't understand why some words are left out of the match
Related Questions in SSL
- Django's previous settings prevent connecting to localhost
- SSL error when redirecting from one lightsail subdomain to lightsail subdomain on different account
- HTTP Requests from SSL Secured(HTTPS) Domain Failing
- Reversed TLS re-connection issue
- Nginx configuration file and SSL certificate errors in Docker
- IBM DB2 console doesn't work after SSL certificate update
- mTLS not working with FastAPI and Uvicorn
- WSO2 change localhost - ERR_CERT_AUTHORITY_INVALID
- KeyCloak Handshake causing timeout
- Python SSL Error , Server side - Client certificate verify failing with Intermediate cert - self-signed certificate in certificate chain (_ssl.c:1007)
- Apps migrated from IIS server1 to another IIS server2 stopped communicating with an App on IIS server 1 via SSL (HTTPS)
- Let Artifactory use HTTPS settings
- Even though I added my SSL certificate, I get the "not secure" error
- CST 0001 ERRO [comm.tls] ClientHandshake -> Client TLS handshake failed after 173.725µs with error EOF remoteaddress=127.0.0.1:7051
- ERR_SSL_PROTOCOL_ERROR generated using X509 certificate with Kestrel hosting in .NET 8 on Linux
Related Questions in MUTUAL-AUTHENTICATION
- Keycloak identity brokering setup with mutual auth x509 certificate
- Azure Web App Mutual SSL authentication with client certificate in Azure App Service
- mutualTLS with SpringBoot SslBundles and RestTemplate
- Configure Squid for mutual TLS (mTLS)
- Mutual TLS with Angular
- Mutual Authentication in ActiveMQ Artemis cluster fails to get hostname from client IP address
- Mutual Authentication Client "PKIX path building failed" and "unable to find valid certification path to requested target"
- Windows client not receiving server Change Cipher Spec message at end of mutual TLS handshake
- Issue with Mutual TLS Authentication Setup on Vespa Data Plane
- GRPC mutual authentication
- how do i use client PFX certificate in java like i use it in postman
- How to manage HTTPS Mutual Authentication including Bearer Token with Spring boot WebClient?
- Pentaho: establish a connection using mutual authentication
- Spring Webflux : mutual authentication fails on second request
- Can I enable Firefox to present the expired client certificate for establishing mutual TLS (mtls)?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The default library doesn't handle secure sockets (SSL/TLS). Assuming you want to use that specific library no matter what, here's another discussion that shows a way to do it using the OpenSSL libraries.
If you want to write a server application, you might want to use Twisted, an event-oriented framework for writing network applications in Python. Here's the relevant documentation on how to enable SSL for a TCP server.