Ich habe versucht, eine Zertifikatskette zusammenzustellen. Ich habe den privaten Schlüssel ( privatekey.pem
) und CSR ( csr.pem
), die ich der Zertifizierungsstelle/CA übermittelt habe.
Ich habe das Zertifikat der Zertifizierungsstelle genommen und den Inhalt in eine Datei ( ca.crt
) gepackt. Die ca.crt
beginnt mit einer -----BEGIN CERTIFICATE-----
Zeile und dann folgt der Hash-Kram. Ich brauche aber noch die Zertifikatskette, und ein Beispiel für die Zertifikatskette finden Sie hierhttp://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SampleCert
Ich gehe davon aus, dass das, was ich habe, privatekey.pem
das Stammzertifikat ist (richtig?) und ca.crt
das Zwischenzertifikat 1 in der Beispielkette in diesem Link ist. Wenn das der Fall ist, wie/wo bekomme ich das andere Zwischenzertifikat? Wenn ich das falsch verstehe, was oder wie bekomme/generiere ich die Bestellung?
Antwort1
Sie scheinen hier mehrere Aspekte zu vermischen. Was Sie brauchen, um das Endergebnis zu erhalten, ist
- Ihr privater Schlüssel
- das Stammzertifikat, das für alle gleich ist, die dieselbe Zertifizierungsstelle verwenden (das scheint Ihr ca.crt zu sein)
- ein/einige Zwischenzertifikate, die normalerweise auf der Website der Zertifizierungsstelle zu finden sind
- das Ergebnis des eingereichten CSR, welches dann Ihr Zertifikat darstellt.
2-4 bilden die Zertifikatskette.
Antwort2
Adron,
privatekey.pem ist der private Schlüssel für das Zertifikat, das Sie von der Zertifizierungsstelle angefordert haben.
Das Root-CA-Zertifikat ist das Zertifikat der jeweiligen PKI, die Ihr Zertifikat ausgestellt hat, und es handelt sich um ein selbstsigniertes Zertifikat.
Die Zwischen-CA-Zertifikate stammen von Unter-CAs unterhalb der Stamm-CA.
zB hat example.com eine Stamm-CA namens exampleRootCA und eine untergeordnete CA namens exampleSubCA.
exampleSubCA stellt Ihnen ein SSL-Zertifikat aus AdronSSL
Ihre Zertifikatskette lautet AdronSSL -> exampleSubCA -> exampleRootCA
hoffe das hilft
Antwort3
Die folgenden Befehle 1-5 helfen beim Erstellen der Zertifikatskette
Befehl zum Erstellen des privaten Schlüssels und des selbstsignierten Zertifikats der RootCA
openssl req -new -nodes -newkey rsa:2048 -sha256 -days 100 -keyout rootPrivateKey.key -x509 -out rootCACertificate.pem
Hinweis: Befehl zum Konvertieren des RootCA-Zertifikats vom .crt- in das .pem-Format
openssl x509 -outform pem -in rootCACertificate.pem -out rootCACertificate.crt
Befehl zum Erstellen des privaten Schlüssels der Zwischenzertifizierungsstelle und ihrer Zertifikatsignaturanforderung
openssl req -new -nodes -newkey rsa:2048 -keyout intermediateCAPrivateKey.key -out intermediateCACertificateSignRequest.csr
Befehl zum Erstellen eines von der RootCA signierten Zertifikats einer Zwischenzertifizierungsstelle
openssl x509 -req -sha256 -days 100 -in intermediateCACertificateSignRequest.csr -CA rootCACertificate.pem -CAkey rootPrivateKey.key -CAcreateserial -extfile domain.ext -out intermediateCACertificate.crt
Der Inhalt von domain.ext wird unten bereitgestellt:
subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = critical, CA:true keyUsage = critical, digitalSignature, cRLSign, keyCertSign
Befehl zum Erstellen des privaten Schlüssels des Servers und zum Signieren der Anfrage
openssl req -new -nodes -newkey rsa:2048 -keyout serverPrivateKey.key -out serverSignRequest.csr
Befehl zum Erstellen eines von IntermediateCA signierten Serverzertifikats
openssl x509 -req -sha256 -days 100 -in serverSignRequest.csr -CA intermediateCACertificate.crt -CAkey intermediateCAPrivateKey.key -CAcreateserial -extfile domain.ext -out serverCertificate.crt
Der Inhalt von domain.ext wird unten bereitgestellt:
basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names [ alt_names ] DNS.1 = localhost
Hinweis: Befehl zum Konvertieren des privaten Schlüssels des Servers im .key-Format in das .PEM-Format.
openssl rsa -in serverPrivateKey.key -out serverPrivateKey.pem
Hier ist die Stammzertifizierungsstelle selbst signiert. Daher wird sie von Browsern nicht erkannt. Um sicherzustellen, dass der Browser sie erkennt, öffnen Sie IE -> Extras -> Internetoptionen -> Inhalt -> Importieren Sie die Stammzertifizierungsstelle im Abschnitt „Vertrauenswürdige Zertifizierungsstelle“ und die Zwischenzertifizierungsstelle im Abschnitt „Zwischenzertifizierungsstelle“.
Das Serverzertifikat und der private Schlüssel des Servers werden auf dem Server gespeichert, auf dem Sie die Webseiten bereitstellen.
Sobald Sie Webseiten anfordern, können Sie feststellen, dass das Serverzertifikat anhand der Zertifikatskette validiert wird