Ich versuche, einen Server mit Client-Authentifizierung auf einem Verzeichnis und Certificate Revocation List (CRL) zu konfigurieren. Es gelang mir, sobald die Client-Client-Authentifizierung funktioniert zu machen, aber ist nicht mehr und ich konnte nie den Widerruf bei der Herstellung Liste arbeitet.Apache-Client-Authentifizierung: Zertifikatverifizie-: Fehler (2): nicht mehr Aussteller-Zertifikat erhalten (LÖSEN)
Hier sind meine Konfigurationsdateien:
- default-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin [email protected]
\t \t DocumentRoot /var/www/html \t \t \t \t \t \t
\t \t ErrorLog ${APACHE_LOG_DIR}/error.log
\t \t CustomLog ${APACHE_LOG_DIR}/access.log combined
\t \t \t \t \t \t \t \t
\t \t SSLEngine on
\t \t SSLCertificateFile \t /root/ca/intermediate/certs/www.example.com.cert.pem
\t \t SSLCertificateKeyFile /root/ca/intermediate/private/www.example.com.key.pem
\t \t SSLCertificateChainFile /root/ca/intermediate/certs/ca-chain.cert.pem
\t \t SSLCACertificateFile /root/ca/intermediate/certs/intermediate.cert.pem \t \t
\t \t \t \t \t \t \t \t
\t \t <FilesMatch "\.(cgi|shtml|phtml|php)$">
\t \t SSLOptions +StdEnvVars
\t \t </FilesMatch>
\t \t <Directory /usr/lib/cgi-bin>
\t \t \t SSLOptions +StdEnvVars
\t \t </Directory> \t
\t </VirtualHost>
</IfModule>
- apache2.conf
Mutex file:${APACHE_LOCK_DIR} default
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/html/testClientCert>
Options Indexes FollowSymLinks
AllowOverride None
SSLVerifyClient require
SSLVerifyDepth 10
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/default-ssl.conf
I verwendet, um die folgenden tuto Wurzel- und Zwischen AC zu erzeugen: https://jamielinux.com/docs/openssl-certificate-authority/ (Teil 1 und 2)
I verwendet, den folgenden Befehl ein Client-Zertifikat zu generieren:
4 erstellen Sie Client-Zertifikat 4.1 erstellen der Client-Schlüssel openssl genrsa -des3 -out client.key 4096
012.351 -Jetzt ist meine Frage, es scheint, dass mein Zwischenzertifikat nicht vertrauenswürdig ist, wenn ich versuche, auf das Verzeichnis/var/www/html/testClientCert mit Mozilla zuzugreifen (ich importierte Zwischen AC + Client-Zertifikat in Mozilla), ich habe folgende Fehlermeldung:
tail -f 20 /var/log/apache2/*
==> /var/log/apache2/access.log <==
127.0.0.1 - - [07/Aug/2017:20:15:48 +0200] "GET /testClientCert/gg.txt HTTP/1.1" 403 9768 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0"
==> /var/log/apache2/error.log <==
[Mon Aug 07 20:15:48.741592 2017] [ssl:error] [pid 2262:tid 140536910403328] [client 127.0.0.1:55376] AH02039: Certificate Verification: Error (2): unable to get issuer certificate
[Mon Aug 07 20:15:48.741670 2017] [ssl:error] [pid 2262:tid 140536910403328] [client 127.0.0.1:55376] AH02261: Re-negotiation handshake failed
[Mon Aug 07 20:15:48.741687 2017] [ssl:error] [pid 2262:tid 140536910403328] SSL Library Error: error:14089086:SSL routines:ssl3_get_client_certificate:certificate verify failed
Wie kommt Fehler tritt auf, während ich die Zwischen AC cert mit dem root-AC cert und dass mein Client-Zertifikat signiert ist durch Zwischen AC unterzeichnet?