Using apache is probably how I will solve this in the short term.<div><br></div><div>It seems though, if there was some way to determine what public key was given by the &quot;other&quot; side of an ssl connection, then one could pretty much implement authentication outside of the ssl layer.</div>
<div><br></div><div>That may not be too much of a stretch as far as modifications to the open ssl code goes. I&#39;m still playing with the openssl package and learning how it works.</div><div><br></div><div><br><br><div class="gmail_quote">
On Wed, Jan 5, 2011 at 4:12 PM, Neil Van Dyke <span dir="ltr">&lt;<a href="mailto:neil@neilvandyke.org">neil@neilvandyke.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Curtis Dutton wrote at 01/05/2011 07:37 AM:<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I am interested in implementing authentication via client browser certificates with a racket webserver.<br>
</blockquote>
<br></div>
One way I have seen HTTPS SSL client certificate authentication done for Racket (actually, PLT Scheme, a while ago) on the server side is to simply use Apache as a front-end Web Server, and have an Apache module do the authentication before the connection gets to Racket.  Then your Racket code can get from Apache a string of a DN or some other identifying info from the valid certificate, which you can use for authorization or possibly additional authentication.  I think that will do everything you want, including letting you lock out users (based on DN, without having to mess with cert revocation lists).<br>

<br>
There might also be other reasons to use a front-end HTTPS server in front of your Racket Web Server, so perhaps you&#39;re already doing this.  If for some reason you wanted connections direct to your Racket Web Server, not through a front-end like Apache, I don&#39;t know whether Racket&#39;s SSL support currently supports client cert authn on the server side.<br>
<font color="#888888">
<br>
-- <br>
<a href="http://www.neilvandyke.org/" target="_blank">http://www.neilvandyke.org/</a><br>
</font></blockquote></div><br></div>