It is possible to use reverse proxy to pass a PEM Encoded Certificate as a
HTTP header to a backend server.

Make sure you have this directive in your config file

SSLOptions +ExportCertData

Then use mod_headers to  set the header

RequestHeader MY_CLIENT_CERT %{SSL_CLIENT_CERT}s


You can find more info here
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html and
here  http://httpd.apache.org/docs/2.2/mod/mod_headers.html

One caveat, depending on which version of apache you use (2.0.x or 2.2.x),
the PEM encoded Certificate may across a bit strange (ie.  not conforming to
multiline HTTP header).  So you may see your header looking like this

MY_CLIENT_CERT: ----- BEGIN CERTIFICATE -----[blanks no CRLF] [First line of
base64 encoded data] [ blanks no CRLF ] [Second line of base64 encoded data]
.....  ---- END CERTIFICATE -----

Reply via email to