Ich habe eine von meiner Universität ausgestellte CA. Ich habe meine CSR mit ihrer öffentlichen Schlüsseldatei wie folgt generiert:
openssl genrsa -out myservername.key 2048 (new key)
openssl req -new -key myservername.key -out myservername.csr
Ich habe ihnen die CSR geschickt, sie haben mir die signierte CRT-Datei zurückgeschickt.
Ich habe ein Verzeichnis für meine CA-Schlüssel und Zertifikate erstellt und dort abgelegt.
Der relevante Teil meiner httpd.conf sieht folgendermaßen aus:
<VirtualHost _default_:443>
SSLEngine on
SSLCACertificateFile /var/cosign/certs/CA/publickey.pem
SSLCertificateFile /var/cosign/certs/myserver.crt
SSLCertificateKeyFile /var/cosign/certs/myserver.key
DocumentRoot /var/www/html/
<Directory /var/www/html>
Options -Indexes
AllowOverride All
</Directory>
Dieses Zertifikat wird jedoch nicht für SSL verwendet. Wenn ich diesen Befehl mache:
openssl s_client -connect localhost:443 -showcerts
Ich verstehe das:
CONNECTED(00000003)
depth=0 C = --, ST = SomeState, L = SomeCity, O = SomeOrganization, OU = SomeOrganizationalUnit, CN = portcharlotte, emailAddress = root@portcharlotte
verify error:num=18:self signed certificate
verify return:1
depth=0 C = --, ST = SomeState, L = SomeCity, O = SomeOrganization, OU = SomeOrganizationalUnit, CN = portcharlotte, emailAddress = root@portcharlotte
verify return:1
---
Certificate chain
Mein CSR enthielt die richtigen Details, nicht diesen Unsinn von 'SomeState', 'SomeCity', von dem ich vermute, dass er ein Standard ist.
Das openssl-Modul wird installiert und geladen.
Die einzigen Fehler, die ich in Protokollen bekomme, sind:
[Fri Jan 25 13:27:40 2013] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Fri Jan 25 13:27:40 2013] [warn] RSA server certificate CommonName (CN) `portcharlotte' does NOT match server name!?
Ich vermute, dass diese Nichtübereinstimmung darauf zurückzuführen ist, dass das falsche Zertifikat verwendet wird.
Meine Frage ist, wie kann ich es verwenden, um das richtige zu verwenden? Was vermisse ich?
port 80 namevhost hostname
Liste unter *: 443 geben.