So erstellen Sie eine Zertifikatskette für ServerHello

So erstellen Sie eine Zertifikatskette für ServerHello

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.crtbeginnt 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.pemdas Stammzertifikat ist (richtig?) und ca.crtdas 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

  1. Ihr privater Schlüssel
  2. das Stammzertifikat, das für alle gleich ist, die dieselbe Zertifizierungsstelle verwenden (das scheint Ihr ca.crt zu sein)
  3. ein/einige Zwischenzertifikate, die normalerweise auf der Website der Zertifizierungsstelle zu finden sind
  4. 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

  1. 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
  1. 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

  2. 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
  1. 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

  2. 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

verwandte Informationen