Catatan: Ini sebenarnya bukan pertanyaan karena saya sudah menemukan jawabannya tetapi karena saya tidak menemukannya dengan mudah di sini saya akan mempostingnya sehingga dapat bermanfaat bagi orang lain.
Pertanyaan: Bagaimana cara membaca file PEM gabungan sebagai yang digunakan oleh apache / mod_ssl directive SSLCACertificateFile ?
Jawab (asli) ( sumber ):
cat $file|awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
Ini dapat meninggalkan file kosong jika ada baris kosong di bagian akhir, seperti dengan openssl pkcs7 -outform PEM -in my-chain-file -print_certs
. Untuk mencegahnya, periksa panjang garis sebelum mencetak:
cat $file|awk 'split_after==1{n++;split_after=0}
/-----END CERTIFICATE-----/ {split_after=1}
{if(length($0) > 0) print > "cert" n ".pem"}'
Jawab 29/03/2016 :
Mengikuti jawaban @slugchewer , csplit
mungkin opsi yang lebih jelas dengan:
csplit -f cert- $file '/-----BEGIN CERTIFICATE-----/' '{*}'
openssl
yang mengambil satu sertifikat untuk dianalisis.