我有一个简单的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:
我已经尝试过每一个我能想到的换行和空格的排列,我在这里缺少什么?
答案 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查看命令的输出或我做的示例。
干杯