So kombinieren Sie verschiedene Zertifikate zu einem einzigen .pem

35

Ich habe gerade diesen tollen Thread durchgelesen, in dem die verschiedenen SSL-Formate erklärt werden.

Jetzt suche ich im Wesentlichen das Gegenteil von So teilen Sie eine PEM-Datei

Es gibt 4 Dateien, die ich konsolidieren möchte, die ursprünglich für Apache erstellt wurden. Ich suche nach Dateien, die von angegeben wurden

  • SSLCertificateFile
  • SSLCertificateKeyFile
  • SSLCertificateChainFile
  • SSLCACertificateFile

Was mich am meisten interessiert, ist die Reihenfolge der Dateien im konsolidierten Derivat, ist das wichtig? Z.B. Wenn ich sie nur catin der Reihenfolge zusammenstellen würde, in der sie oben erscheinen, in einer .pem , wäre das gültig, oder sollten sie auf eine bestimmte Art und Weise bestellt werden?

Zu Ihrer Information , ich mache dies, um diese Zertifikate als kombinierte einzelne .pem-Datei in SimpleSAMLphp zu verwenden .

quickshiftin
quelle
Die Bestellung sollte aus einem privaten Schlüssel, Zwischenzertifikaten und Ihrem Zertifikat bestehen.
Zoredache
Was ist mit der Zertifizierungsstelle, ist das nicht die Wurzel der Kette, und daher würde sie der Kette in der konsolidierten Datei folgen? Oder kann es ganz weggelassen werden?
Quickshiftin
Klingt wie es optional ist , ich werde es für den Moment ohne rollen.
Quickshiftin

Antworten:

43

Die Reihenfolge spielt laut RFC 4346 eine Rolle .

Hier ist ein Zitat direkt aus dem RFC:

  certificate_list
    This is a sequence (chain) of X.509v3 certificates.  The sender's
    certificate must come first in the list.  Each following
    certificate must directly certify the one preceding it.  Because
    certificate validation requires that root keys be distributed
    independently, the self-signed certificate that specifies the root
    certificate authority may optionally be omitted from the chain,
    under the assumption that the remote end must already possess it
    in order to validate it in any case.

Basierend auf diesen Informationen sollte das Serverzertifikat an erster Stelle stehen, gefolgt von allen Zwischenzertifikaten und schließlich dem vertrauenswürdigen Stammzertifikat (falls selbst signiert). Ich konnte keine Informationen zum privaten Schlüssel finden, aber ich denke, das sollte keine Rolle spielen, da ein privater Schlüssel in pem leicht zu identifizieren ist, da er mit dem folgenden Text beginnt und endet, der das Schlüsselwort enthält PRIVATE.

 -----BEGIN RSA PRIVATE KEY-----
 -----END RSA PRIVATE KEY-----
Daniel t.
quelle
2
cat site.crt root.crt site.key> site.pem
curveorzos
6

Hier ist der Befehl zum Kombinieren mit cat

cat first_cert.pem second_cert.pem > combined_cert.pem
Tidileboss
quelle
3
Es ist eine Antwort darauf, wie zwei beliebige Zertifikate verkettet werden sollen, aber nicht, wie Zertifikate für Apache konsolidiert / verkettet werden sollen.
Asdmin
Dies ist nicht wirklich die Frage zu beantworten, die akzeptierte Antwort ist gut genug. Ich liefere nur zusätzliche Informationen zum Verketten, da das Originalposter über die Verwendung von Katze sprach und ich dachte, dass es anderen helfen könnte.
Tidileboss
2
Ihre Antwort gibt nicht an, in welcher Reihenfolge die Dateien verkettet werden sollen (Sie haben nur "first_cert.pem" und "second_cert.pem"). Die richtige Antwort wärecat my_site.pem ca_chain.pem my_site.key > combined_cert.pem
Doktor J