组合证书链给出了PEM_read_bio:错误的结束行

时间:2018-03-15 17:48:54

标签: bash openssl

我有一个简单的bash脚本,它为我加载并组合了一些x509证书(客户端+中间件)。加载单个证书是有效的,但是当我尝试连接它们时会出错:

echo "$clientCert" | openssl x509; echo "Client cert OK"
echo "$int" | openssl x509; echo "Intermediate OK"
echo "$clientCert\n$int" | openssl x509; echo "Combined OK"

前两个命令工作正常,最后一个命令错误:

unable to load certificate
47576:error:0906D066:PEM routines:PEM_read_bio:bad end line:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.50.7/src/crypto/pem/pem_lib.c:747:

我已经尝试过每一个我能想到的换行和空格的排列,我在这里缺少什么?

1 个答案:

答案 0 :(得分:3)

你需要echo -e来打印\ n见https://explainshell.com/explain?cmd=echo+-e

$ clientCert=clientCertVAR
$ int=intVAR
$ echo "$clientCert\n$int"
clientCertVAR\nintVAR

$ echo -e "$clientCert\n$int"
clientCertVAR
intVAR

尝试使用set -x查看命令的输出或我做的示例。

干杯