# Debian Apache2 client zertifikate



## südpol (19. Dezember 2006)

Hi,

ich habe einen Debian mit Apache2, php5 und mysql als Webserver eingerichtet. Einzelne Seiten dieses Webservers sollen nur bestimmten Leuten zur Verfügung stehen, die im Besitz eines Zertifikates einer von mir vertrauten CA sind. 

Die Config dafür steht an sich und funktioniert auch schon zu teilen. 

/etc/apache2/sites-available/ssl

```
...
  SSLEngine                      On
  SSLCertificateFile             /etc/apache2/ssl/test.crt
  SSLCertificateKeyFile          /etc/apache2/ssl/test.key
  SSLCACertificatePath           /etc/apache2/ssl/CACertificates/
  SSLOptions                     +FakeBasicAuth
  SSLVerifyClient                require
  SSLVerifyDepth                 10
...
 <Location /test/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    AuthType             Basic
    AuthName             "ssl"
    AuthUserFile         /etc/apache2/access/htpasswd.test
    Require              valid-user
    SSLOptions           +FakeBasicAuth
  </Location>
```

unter "/etc/apache2/ssl/CACertificates/" liegen die root Zertifikate der CA's die die clientzertifikate ausgestellt haben. Diese Zertifikate habe ich wie in der apache config gewünscht über einen symlink der aus ihrm hash besteht im gleichen Verzeichnis verlinkt.

in /etc/apache2/access/htpasswd.test liegen die Zertifikatsinformationen der zugelassenen Zertifikate. 

Das ganze funktioniert auch schon mit den Zertifikaten einer der beiden CA's von der ich clientzertifikate annehme. 

Auf einem meiner Clients habe ich Zertifikate beider CA's installiert. Öffne ich jetzt die Seite im Firefox so erhalte ich nur die funktionierende CA zur Auswahl. Im IE erhalte ich beide zur Auswahl es funktioniert aber nur die, die auch im FF angezeigt wird. Verwende ich das andere bekomme ich im ie die Meldung "Die Seite kann nicht angezeigt werden." im error log "steht auf debug" sehe ich dazu nichts. 

Meine Vermutung ist nun, dass es an der Codierung der Root Zertifikate liegt. Ich habe das funktionierende Zertifikat als *.pem file angeliefert bekommen und auch so eingebunden. Das andere habe ich als *.crt bekommen und auf folgende zwei Wege schon versucht umzuwandeln:


```
cat cert.cer >> cert.pem
openssl x509 -out cert.pem -outform pem -in cert.crt -inform pem
```

Leider beides ohne Erfolg (meine ich).

Kann mir jemand einen Tipp geben wo ich noch suchen kann um das ganze richtig zum laufen zu bekommen?

Danke!


----------

