Apache - Erstellen und Überprüfen von Client-Zertifikaten
Erstellen von Client-Zertifikaten
- Erstellen des Client-Schlüssels:
# openssl genrsa -des3 -out garex.key 1024
- Erstellen der Client-Anfrage:
# openssl req -new -key garex.KEY -out garex.CSR
Beim Common Name (CN) gebe deinen eigenen Namen ein, z.B. "Jan Janssen". Für die Organisationseinheit kannst Du eine Abteilung eingeben. - Signiere die Client-Zertifikat Anfrage und generiere das Zertifikat:
# openssl ca -in garex.CSR -cert ../../CA/garexCA.CRT -keyfile \
../../CA/garexCA.KEY -out garex.CRT
- Überprüfe alle Daten:
# openssl x509 -in garex.CRT -text
Validieren des Client-Zertifikates
Wie authentifizieren ich meine Kunden auf Basis von Zertifikaten, wenn ich alle meine Kunden kenne? Wenn Du deine Kunden kennst (geschlossene Benutzergruppe ), wie z.B. im Intranet, kannst Du die Plain-Zertifikat-Authentifizierung verwenden. Das einzige was Du tun musst ist ein Client-Zertifikat zu signieren mit deinem eignen CA-Zertifikat ca.crt und dann den Client mit dem Zertifikat überprüfen.
httpd.conf:
# een client certificaat vereist dat direct ondertekent
# moet zijn met uw CA certificaat in ca.crt
SSLVerifyClient require
SSLVerifyDepth 1
SSLCACertificateFile conf/ssl.crt/ca.crt
Wie kann ich meine Kunden für eine bestimmte URL authentifiziere basierend auf Zertifikaten, aber den anonymen Kunden den Rest des Servers zur Zugänglich machen? Um dies zu erreichen, verwende die per Verzeichnis Umkonfigurationsfunktion http://httpd.apache.org/docs/2.0/mod/mod_ssl.html
httpd.conf:
SSLVerifyClient none
SSLCACertificateFile conf/ssl.crt/ca.crt
<Location /secure/area>
SSLVerifyClient require
SSLVerifyDepth 1
Brauchen Sie Hilfe?
Rufen Sie uns an +31 88 775 775 0
SSLCheck
SSLCheck überprüft, ob Ihr Zertifikat ordnungsgemäß auf Ihrem Server installiert ist und ob es potenzielle Probleme gibt.