Note : Ce n'est pas vraiment une question car j'ai déjà trouvé la réponse mais comme je ne l'ai pas trouvée facilement ici, je vais la poster pour qu'elle puisse profiter à d'autres.
Question : Comment lire un fichier PEM concaténé comme celui utilisé par la directive apache/mod_ssl ? SSLCACertificateFile ?
Réponse (originale) ( fuente ) :
cat $file|awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
Cela peut laisser un fichier vide s'il y a une ligne vierge à la fin, comme dans le cas suivant openssl pkcs7 -outform PEM -in my-chain-file -print_certs
. Pour éviter cela, vérifiez la longueur de la ligne avant d'imprimer :
cat $file|awk 'split_after==1{n++;split_after=0}
/-----END CERTIFICATE-----/ {split_after=1}
{if(length($0) > 0) print > "cert" n ".pem"}'
Réponse 29/03/2016 :
Suivre @slugchewer responder , csplit
pourrait être une option plus claire avec :
csplit -f cert- $file '/-----BEGIN CERTIFICATE-----/' '{*}'