This post documents how to setup using a client certificate in accessing a private web page.
The involved components are as follows:
- Web server: Apache 2.4
- Browser: Firefox 98
Steps:
- Generate CA certificate: see the previous post
- Configure web server to require client certificates signed by the CA
- Add
SSLVerifyClient require
to the protected Location - Add
SSLCACertificateFile
to point to the CA certificate
- Add
- Generate a personal certificate: also described in the previous post
- Sign the personal certificate with CA certificate: ditto
- Import personal certificate into browser
Settings → Privacy & Security → Certificates → View Certificates… → Your Certificates → Import… - Configure browser to enable post-handshake authentication (Only needed if you get “…Cannot perform Post-Handshake Authentication” error. Usually happens when securing only a sub path instead of the entire server.)
For Firefox (98)- Go to the URL
about:config
- Find and enable
security.tls.enable_post_handshake_auth
- Go to the URL
- All set! Go ahead and test it out…