Ich habe mit openssl ein Zertifikat generiert und es auf dem Computer des Clients abgelegt. Wenn ich jedoch versuche, mit diesem Zertifikat eine Verbindung zu meinem Server herzustellen, wird in der Betreffzeile ein Fehler von meinem Server zurück erwähnt.
Folgendes habe ich getan.
1) Ich führe eine Testverbindung mit openssl durch, um festzustellen, welche CA-Namen für Client-Zertifikate für meinen Server zulässig sind. Ich gebe diesen Befehl von meinem Client-Computer an meinen Server aus:
openssl s_client -connect myupload.mysite.net:443/cgi-bin/posupload.cgi -prexit
und ein Teil von dem, was ich zurück bekomme, ist wie folgt:
Acceptable client certificate CA names
/C=US/ST=Colorado/L=England/O=Inteliware/OU=Denver Office/CN=Tim Drake/emailAddress=tdrake@mysite.com
/C=US/ST=Colorado/O=Inteliware/OU=Denver Office/CN=myupload.mysite.net/emailAddress=tdrake@mysite.com
2) In der Apache-Konfigurationsdatei auf dem Server finden Sie Informationen zur SSL-Clientauthentifizierung:
SSLCACertificatePath /etc/apache2/certs
SSLVerifyClient require
SSLVerifyDepth 10
3) Ich habe mit mypos.pem und mypos.key ein selbstsigniertes Client-Zertifikat mit dem Namen "client.pem" erstellt. Wenn ich also diesen Befehl ausführe:
openssl x509 -in client.pem -noout -issuer -subject -serial
Hier ist, was zurückgegeben wird:
issuer= /C=US/ST=Colorado/O=Inteliware/OU=Denver Office/CN=myupload.mysite.net/emailAddress=tdrake@mysite.com
subject= /C=US/ST=Colorado/O=Inteliware/OU=Denver Office/CN=mlR::mlR/emailAddress=admin@inteliware.com
serial=0E
(Bitte beachten Sie, dass sich mypos.pem in / etc / apache2 / certs / befindet und mypos.key in / etc / apache2 / certs / private / gespeichert ist.)
4) Ich habe client.pem auf dem Client-Computer abgelegt und auf dem Client-Computer den folgenden Befehl ausgeführt:
openssl s_client -connect myupload.mysite.net:443/cgi-bin/posupload.cgi -status -cert client.pem
und ich bekomme diesen Fehler:
CONNECTED(00000003)
OCSP response: no response sent
depth=1 /C=US/ST=Colorado/L=England/O=Inteliware/OU=Denver Office/CN=Tim Drake/emailAddress=tdrake@mysite.com
verify error:num=19:self signed certificate in certificate chain
verify return:0
574:error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca:/SourceCache/OpenSSL098/OpenSSL098-47/src/ssl/s3_pkt.c:1102:SSL alert number 48
574:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:/SourceCache/OpenSSL098/OpenSSL098-47/src/ssl/s23_lib.c:182:
Ich bin wirklich ratlos darüber, was ich falsch gemacht habe. Ich habe ziemlich viel nach diesem Fehler gesucht und festgestellt, dass die ausstellende Zertifizierungsstelle des Client-Zertifikats vom Server nicht als vertrauenswürdig eingestuft wird. Wenn ich mir jedoch den Aussteller meines Client-Zertifikats anschaue, stimmt er mit einem der Fehler überein Die akzeptierte Zertifizierungsstelle, die von meinem Server zurückgegeben wurde.
Kann mir bitte jemand helfen?
Vielen Dank im Voraus.