7
如何分割PEM文件
注意:这并不是一个真正的问题,因为我已经找到了答案,但是由于我在这里不太容易找到答案,因此我将其发布出来,以使其他人受益。 问题:如何将串联的PEM文件读取为apache / mod_ssl指令SSLCACertificateFile使用的文件? 答案(原文)(来源): cat $file|awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}' 如果末尾有空白行(例如),则可以保留一个空文件openssl pkcs7 -outform PEM -in my-chain-file -print_certs。为防止这种情况,请在打印前检查行的长度: cat $file|awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {if(length($0) > 0) print > "cert" n ".pem"}' 回答29/03/2016: 跟随@slugchewer 答案,csplit可能是一个更清晰的选择: csplit -f cert- $file '/-----BEGIN CERTIFICATE-----/' '{*}'