
Meine Firma hostet example.com und sub.example.com auf demselben Server und verwendet ein Wildcard-SSL-Zertifikat für *.example.com. Jetzt ist es an der Zeit, unser Zertifikat zu erneuern, und wir sind uns nicht sicher, wie wir dieses Zertifikat bekommen haben. Mein Chef glaubt nicht, dass wir die 200 $ bezahlt haben, die es anscheinend kostet. Mein alter Manager (der die Firma vor ein paar Tagen verlassen hat) war derjenige, der es installiert hat, und er erinnert sich nicht genau, was er getan hat, aber er glaubt, dass er etwas generieren musste, anstatt einfach Dateien zu verwenden, die wir von der Zertifizierungsstelle erhalten haben.
Die Apache-Konfiguration enthält diese Zeilen und keine anderen nicht auskommentierten SSL*File-Zeilen:
SSLCertificateFile /usr/local/ssl/cert/example.com.crt
SSLCACertificateFile /usr/local/ssl/cert/intermediate.crt
SSLCertificateKeyFile /usr/local/ssl/private/example.com-wild.key
Wenn ich intermediate.crt ( openssl x509 -in intermediate.crt -text -noout
) untersuche, wird unsere Organisation oder Website überhaupt nicht erwähnt und es ist gültig für den Zeitraum 2010–2020.
Data:
Version: 3 (0x2)
Serial Number: 145105 (0x236d1)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
Validity
Not Before: Feb 19 22:45:05 2010 GMT
Not After : Feb 18 22:45:05 2020 GMT
Subject: C=US, O=GeoTrust, Inc., CN=RapidSSL CAb
example.com.crt ist das Platzhalterzeichen:
Data:
Version: 3 (0x2)
Serial Number: 1113972 (0x10ff74)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, O=GeoTrust, Inc., CN=RapidSSL CA
Validity
Not Before: Mar 1 09:05:39 2014 GMT
Not After : Mar 4 09:08:54 2015 GMT
Subject: serialNumber=T0nuTvfeaQVtd3dZ30zGI94HrvUsoRjx, OU=GT53409919, OU=See www.rapidssl.com/resources/cps (c)14, OU=Domain Control Validated - RapidSSL(R), CN=*.example.com
Ich verstehe die SSL-Infrastruktur nicht, daher habe ich vermutlich eine Menge damit zusammenhängender Fragen. Ich entschuldige mich, wenn sich herausstellt, dass sie überhaupt nichts damit zu tun haben. Ich weiß nicht, was ich nicht weiß.
Wie haben wir das Wildcard-Zertifikat bekommen, wenn wir nicht 200 $ oder so dafür bezahlt haben? (Es würde mich einigermaßen überraschen, wenn wir es nur mit intermediate.crt hätten erstellen können, denn dann könnten wir es bis 2020 weiter generieren. Aber es gibt keine anderen Dateien in /usr/local/ssl und nichts in /etc/pki/tls, das seit 2013 geändert wurde. Was hätten wir also sonst verwenden sollen? Es würde mich auch einigermaßen überraschen, wenn mein Chef sich einfach falsch erinnert und wir tatsächlich 200 $ oder so bezahlt haben, aber das scheint mir durchaus möglich.)
Woher haben wir intermediate.crt?
Was macht intermediate.crt? Ich habe ein selbstsigniertes Wildcard-Zertifikat, das auf unseren Beta-Servern einwandfrei funktioniert (außer dass es selbstsigniert ist), ohne SSLCACertificateFile-Zeile. Außerdem haben wir ein Nicht-Wildcard-Zertifikat gekauft, das example.com schützt und das ich mithilfe von VirtualHost ohne SSLCACertificateFile installieren konnte. Außerdem sind wir dabei, ein Zertifikat für sub.example.com zu erhalten, das ich auf die gleiche Weise installieren möchte. Wird die SSLCACertificateFile für nicht selbstsignierte Wildcard-Zertifikate benötigt?
Die Art und Weise, wie ich das selbstsignierte Zertifikat generiert habe, scheint damit zusammenhängen zu können:
openssl req -nodes -new -keyout private/example.com.key -out certs/intermediate.csr openssl x509 -req -days 365 -in certs/intermediate.csr -signkey private/file.key -out certs/example.com.crt
aber ich muss intermediate.csr in diesem Fall nicht in der Apache-Konfiguration erwähnen, und intermediate.csr kann nicht
openssl x509
wie die Datei intermediate.crt untersucht werden.
Antwort1
How did we get the wildcard certificate, if we didn't pay $200 or whatever for it?
Eine günstigere CA als die, die Sie jetzt gefunden haben? Ich bin sicher, Sie werden einen Wiederverkäufer mit niedrigeren Preisen finden.
Where did we get intermediate.crt? What does intermediate.crt do?
Sie erhalten es von Ihrer Zertifizierungsstelle. Zertifizierungsstellen signieren Zertifikate normalerweise nicht direkt mit ihren Stammzertifikaten, sondern tun dies über ein Zwischenzertifikat. Dieses Zwischenzertifikat signiert die Zertifikate für den Kunden und wird wiederum vom Stammzertifikat signiert, dem Browser und Betriebssysteme vertrauen. Dies wird als Zertifikatskette bezeichnet und ist auch der Grund, warum es einen separaten Parameter für Apache gibt, SSLCACertificateFile
um diese Kette vom Website-Zertifikat zum CA-Zertifikat bereitzustellen.
Ich habe ein selbstsigniertes Platzhalterzertifikat, das auf unseren Betaservern einwandfrei funktioniert (außer dass es selbstsigniert ist), ohne die Zeile „SLSCACertificateFile“.
Dann vertraut der von Ihnen getestete Browser auch dem Zwischenzertifikat, aber Sie können sich nicht darauf verlassen. Sie können auch dasSSLLabs ssltestTool zum Prüfen, ob deine Kette möglicherweise unvollständig ist oder ein Zwischenprodukt übersehen wurde (dort als Extra-Download bezeichnet).
Wird das SSLCACertificateFile für nicht selbstsignierte Platzhalterzertifikate benötigt?
Nein, da in diesem Fall keine Zertifikatskette vorliegt, siehe oben.
Antwort2
Aus den Angaben in Ihrem Zertifikat und dem Zwischenzertifikat geht hervor, dass Ihr alter Manager tatsächlich den Preis für ein Wildcard-Zertifikat von RapidSSL vor einem Jahr bezahlt hat. Was er generieren musste, war wahrscheinlich die Zertifikatsanforderung, die an RapidSSL gesendet werden sollte.