Mutual TLS with Python, Flask and Werkzeug

Over the last couple of days I’ve been working on a simple, no-frills HTTPS server for Python that supports WSGI applications and – most importantly for my use case – handles mutual TLS support.

I needed to perform mutual TLS to verify client certificates for a work project. I know that I can simply place a reverse proxy such as Apache or Nginx in front of my python application and have it handle the mutual TLS, but why can’t I have a Python server to do that for me? It turns out that’s it’s not as hard as I first anticipated.

Read more “Mutual TLS with Python, Flask and Werkzeug”