Cara menggabungkan berbagai sertifikat menjadi .pem tunggal

35

Saya baru saja selesai membaca utas hebat ini menjelaskan berbagai format SSL.

Sekarang saya pada dasarnya mencari kebalikan dari Cara membagi file PEM

Ada 4 file yang ingin saya konsolidasi, awalnya dibuat untuk Apache, saya sedang melihat file yang ditentukan oleh

  • SSLCertificateFile
  • SSLCertificateKeyFile
  • SSLCertificateChainFile
  • SSLCACertificateFile

Yang paling membuat saya penasaran adalah urutan file dalam dereivative konsolidasi, apakah itu penting? MISALNYA. jika saya hanya catmenyatukan mereka dalam urutan yang muncul di atas, menjadi .pem , apakah itu sah, atau haruskah mereka dipesan dengan cara tertentu?

FYI, saya melakukan ini demi menggunakan sertifikat ini sebagai satu gabungan .pem di SimpleSAMLphp .

quickshiftin
sumber
Pesanan harus berupa kunci pribadi, sertifikat perantara, sertifikat Anda.
Zoredache
Bagaimana dengan CA, bukankah itu root dari rantai, dan oleh karena itu akan pergi setelah rantai dalam file konsolidasi? Atau bisakah itu dihilangkan seluruhnya?
quickshiftin
Kedengarannya seperti itu opsional , saya akan roll w / o untuk saat ini.
quickshiftin

Jawaban:

43

Urutan itu penting, menurut RFC 4346 .

Berikut adalah kutipan yang diambil langsung dari 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.

Berdasarkan informasi ini, sertifikat server harus didahulukan, diikuti oleh sertifikat perantara, dan akhirnya sertifikat otoritas tepercaya root (jika ditandatangani sendiri). Saya tidak dapat menemukan informasi tentang kunci pribadi, tetapi saya pikir itu tidak masalah karena kunci pribadi dalam pem mudah diidentifikasi karena dimulai dan diakhiri dengan teks di bawah ini, yang memiliki kata kunci PRIVATEdi dalamnya.

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

Ini adalah perintah untuk menggabungkan penggunaan cat

cat first_cert.pem second_cert.pem > combined_cert.pem
tidileboss
sumber
3
Ini adalah jawaban untuk menggabungkan dua sertifikat, tetapi tidak untuk mengkonsolidasikan / menggabungkan sertifikat untuk Apache.
asdmin
Ini sebenarnya bukan untuk menjawab pertanyaan, jawaban yang diterima cukup baik. Saya hanya memberikan informasi tambahan tentang cara menggabungkan, karena poster asli berbicara tentang menggunakan kucing, saya pikir itu mungkin membantu orang lain.
tidileboss
2
Jawaban Anda tidak menunjukkan urutan file mana yang harus digabungkan (Anda hanya memiliki "first_cert.pem" dan "second_cert.pem"). Jawaban yang benar adalahcat my_site.pem ca_chain.pem my_site.key > combined_cert.pem
Doktor J