[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Apache2 und Client-Zertifikate



On Mon, Feb 05, 2007 at 05:14:06PM +0100, Markus Schulz wrote:
> Hallo,
> 
> ich versuche mich gerade an eine Apache2 (Debian/Sarge) Installation die 
> _optional_ über Client-Zertifikate authentifiziert.
> 
> Folgendermassen sieht meine derzeitige Konfiguration aus:
> 
> #Server CA-Chain
> SSLCertificateChainFile /etc/apache2/globalsign.pem
> #Server Zertifikat
> SSLCertificateFile /etc/apache2/servercert.pem
> #Server Zertifikat-Key
> SSLCertificateKeyFile /etc/apache2/servercert.pem
> 
> #CAs der Clients-Auth
> SSLCACertificateFile /etc/apache2/ClientServerCA.chain.pem
> SSLCARevocationFile /etc/apache2/ClientServerCA-crl.pem
> SSLVerifyDepth  2
> SSLOptions +StdEnvVars
> SSLEngine on
> 
> in der zentralen httpd.conf
> 
> und anschliessend in einer virtual Host Config:
> <VirtualHost *>
>         ServerName <DOMAIN>
>         Documentroot <PATH>
>         CustomLog /www/logs/<DOMAIN>.log "%v %h %l %u %t 
> \"%r\" %>s %b  %{SSL_PROTOCOL}x %{SSL_CIPHER}x %{SSL_CLIENT_S_DN_CN}x"
> 
>         <Directory <PATH>/smartcard>
>                 SSLRequireSSL
>                 SSLVerifyClient require
>         </Directory>
>         SSLUserName SSL_CLIENT_S_DN_CN
> </VirtualHost>
> 
> Mein Problem ist folgendes, ich möchte eigentlich "SSLVerifyClient 
> optional" haben. 
> 
> Leider wird bei Optional das Client-Zertifikat (konqueror fragt nach und 
> ich erlaube das Senden) einfach vom Server ignoriert.
> Ebenfalls ignoriert wird es, wenn ich die "SSLVerifyClient require" 
> Option nicht in das <Directory> verpacke, sondern nur im VirtualHost 
> mit drin habe. Das sieht mir dann eigentlich nach einem Bug aus, denn 
> laut Dokumentation ist SSLVerifyClient innerhalb der VirtualHost Config 
> auch erlaubt.
> 
> Zusätzlich würde ich gern Revoked Zertifikate nicht direkt abweisen, 
> sondern über die SSL_CLIENT_VERIFY Variable in der benutzten 
> Skriptsprache erkennen und normale Login/Password Authentifizierung 
> anbieten. Dafür habe ich bisher allerdings noch keine Option gefunden. 
> Der Apache bricht die Verbindung zum Client dann jedenfalls einfach ab.
> 
> Jemand eine Idee dazu?

Lass für den Anfang mal VerifyDepth und das RevocationFile weg, so
dass du erst einmal die Verschlüsselung generell hinbekommst.

Das mit dem Verify ist nicht immer so 100%ig. Hatte in unserer
Testumgebung auch Probleme gemacht.

Paul
-- 

Attachment: signature.asc
Description: Digital signature


Reply to: