Windoofsklicker
08.11.06, 10:35
Hi Folks,
ich versuche, meinen Apachen dazu zu bewegen, Clients per Zertifikat zu authentifizieren. Es ist ein Apache 2.0.53 unter FC3.
Die /etc/conf.d/ssl.conf habe ich wie folgt modifiziert:
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
SSLCACertificatePath /etc/httpd/conf/ssl.crt/
<Location /webmail>
SSLVerifyClient require
SSLVerifyDepth 1
</Location>
Meine CA läuft bereits etwas länger, da ich auch die Zertifikate für den Apachen im "normalen SSL betrieb" selbst generiert habe.
In der Section [ usr_cert ] habe ich nsCertType = client, email, objsign eingetragen.
Dann habe ich Zertifikate (mit und ohne Passphrase) für den Client erstellt und diese im Firefox importiert.
#! /bin/sh
# $1 dateiname
# $2 schluessellaenge
# $3 Dauer
# $4 Name
# Mit Passphrase
#openssl genrsa -des3 -out $1.key $2
# Ohne Passphrase
openssl genrsa -out $1.key $2
openssl req -new -key $1.key -out $1.csr
openssl ca -in $1.csr -out $1.crt -days $3
openssl pkcs12 -export -in $1.crt -out $1.crt.p12 -inkey $1.key -name $4
Der Apache startet ohne Fehlermeldungen. Beim Versuch den Bereich /webmail zu öffnen, zeigt der Firefox nichts, der IE eine Fehlermeldung. Im Apache-Log steht dann:
[Wed Nov 08 10:58:10 2006] [error] Certificate Verification: Error (20): unable to get local issuer certificate
[Wed Nov 08 10:58:10 2006] [error] Re-negotiation handshake failed: Not accepted by client!?
Meine Fragen: Kann es daran liegen, dass ich noch keine Revocation List erstellt habe?
Wie kann ich überprüfen, ob er das Client Zertifikat überhaupt gegen das Root Zertifikat meiner CA checkt?
Es liegt auf jeden Fall im Angegebenen Verzeichnis und sollte auch das entsprechende Format haben. Btw: Wie kann ich das Format überprüfen?
ich versuche, meinen Apachen dazu zu bewegen, Clients per Zertifikat zu authentifizieren. Es ist ein Apache 2.0.53 unter FC3.
Die /etc/conf.d/ssl.conf habe ich wie folgt modifiziert:
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
SSLCACertificatePath /etc/httpd/conf/ssl.crt/
<Location /webmail>
SSLVerifyClient require
SSLVerifyDepth 1
</Location>
Meine CA läuft bereits etwas länger, da ich auch die Zertifikate für den Apachen im "normalen SSL betrieb" selbst generiert habe.
In der Section [ usr_cert ] habe ich nsCertType = client, email, objsign eingetragen.
Dann habe ich Zertifikate (mit und ohne Passphrase) für den Client erstellt und diese im Firefox importiert.
#! /bin/sh
# $1 dateiname
# $2 schluessellaenge
# $3 Dauer
# $4 Name
# Mit Passphrase
#openssl genrsa -des3 -out $1.key $2
# Ohne Passphrase
openssl genrsa -out $1.key $2
openssl req -new -key $1.key -out $1.csr
openssl ca -in $1.csr -out $1.crt -days $3
openssl pkcs12 -export -in $1.crt -out $1.crt.p12 -inkey $1.key -name $4
Der Apache startet ohne Fehlermeldungen. Beim Versuch den Bereich /webmail zu öffnen, zeigt der Firefox nichts, der IE eine Fehlermeldung. Im Apache-Log steht dann:
[Wed Nov 08 10:58:10 2006] [error] Certificate Verification: Error (20): unable to get local issuer certificate
[Wed Nov 08 10:58:10 2006] [error] Re-negotiation handshake failed: Not accepted by client!?
Meine Fragen: Kann es daran liegen, dass ich noch keine Revocation List erstellt habe?
Wie kann ich überprüfen, ob er das Client Zertifikat überhaupt gegen das Root Zertifikat meiner CA checkt?
Es liegt auf jeden Fall im Angegebenen Verzeichnis und sollte auch das entsprechende Format haben. Btw: Wie kann ich das Format überprüfen?