cacert 选项和进程替换

cacert option and process substitution

当我做的时候

$ curl ... --cacert <(cat intermediate1.pem intermediate2.pem root.pem) ...

我看到错误:

* NSS error -5978
* Closing connection #0
* Problem with the SSL CA cert (path? access rights?)
curl: (77) Problem with the SSL CA cert (path? access rights?)

所以我首先要做的是:

$ cat intermediate1.pem intermediate2.pem root.pem >ca.pem

然后我可以做

$ curl ... --cacert ca.pem ...

但是为什么--cacert <(cat ...)不行呢?例如,我可以以相同的方式将 <(cat ...)comm 命令一起使用。

其实这个问题取决于curl的版本。

Here's a commit--cert旗帜。

因此,根据 curl 存储库中的标签,此问题在 curl-7.65 版本之前一直存在于库中。