Jak łączyć różne certyfikaty w jeden plik .pem

35

Właśnie skończyłem czytać ten świetny wątek wyjaśniający różne formaty SSL.

Teraz zasadniczo szukam przeciwieństwa Jak podzielić plik PEM

Są 4 pliki, które chcę skonsolidować, pierwotnie utworzone dla Apache, szukam plików określonych przez

  • SSLCertificateFile
  • SSLCertificateKeyFile
  • SSLCertificateChainFile
  • SSLCACertificateFile

To, co najbardziej mnie interesuje, to kolejność plików w skonsolidowanym dereiwatacie, czy to jest ważne? NA PRZYKŁAD. gdybym miał catje po prostu razem w kolejności, w jakiej pojawiają się powyżej, w pliku .pem , czy byłoby to ważne, czy powinny być zamawiane w określony sposób?

FYI, robię to ze względu na użycie tych certyfikatów jako połączonego singla .pem w SimpleSAMLphp .

szybka zmiana
źródło
Zamówienie powinno zawierać klucz prywatny, certyfikaty pośrednie, certyfikat.
Zoredache,
Co z urzędem certyfikacji, czyż nie jest to katalog główny łańcucha, a zatem poszedłby za łańcuchem do pliku skonsolidowanego? Czy można to całkowicie pominąć?
szybka zmiana w
Wygląda na to, że jest to opcjonalne , na razie skończę.
szybka zmiana w

Odpowiedzi:

43

Kolejność ma znaczenie, zgodnie z RFC 4346 .

Oto cytat zaczerpnięty bezpośrednio z 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.

W oparciu o te informacje najpierw powinien pojawić się certyfikat serwera, następnie certyfikaty pośrednie, a na końcu certyfikat głównego zaufanego urzędu (jeśli sam się podpisał). Nie mogłem znaleźć żadnych informacji na temat klucza prywatnego, ale myślę, że to nie powinno mieć znaczenia, ponieważ klucz prywatny w pem jest łatwy do zidentyfikowania, gdy zaczyna się i kończy na poniższym tekście, który zawiera słowo kluczowe PRIVATE.

 -----BEGIN RSA PRIVATE KEY-----
 -----END RSA PRIVATE KEY-----
Daniel t.
źródło
2
cat site.crt root.crt site.key> site.pem
curveorzos
6

Oto polecenie łączenia za pomocą cat

cat first_cert.pem second_cert.pem > combined_cert.pem
Tidileboss
źródło
3
To odpowiedź na pytanie, jak połączyć dowolne dwa certyfikaty, ale nie na temat konsolidacji / konkatenacji certyfikatów dla Apache.
asdmin,
To nie jest tak naprawdę odpowiedź na pytanie, zaakceptowana odpowiedź jest wystarczająco dobra. Podaję tylko dodatkowe informacje na temat konkatenacji, ponieważ oryginalny plakat mówił o używaniu kota, myślałem, że może to pomóc innym.
tidileboss
2
Twoja odpowiedź nie wskazuje, w jakiej kolejności pliki powinny być konkatenowane (masz po prostu „first_cert.pem” i „second_cert.pem”). Prawidłowa odpowiedź brzmicat my_site.pem ca_chain.pem my_site.key > combined_cert.pem
Doktor J