为了获得成功的响应,我使用
curl --cacert <path of ca.pem> ...
,但是如何在mac的配置文件中设置ca.pem的路径,以便不每次都指定证书的路径,我可以直接使用 curl ...
在您的系统上,您可以设置环境变量以指向这些文件。
尝试:
export SSL_CERT_FILE=/path/to/ca.pem
还有
SSL_CERT_DIR
环境变量来指定包含证书的目录。
您可以将其添加到您的
.bashrc
或 .bash_profile
文件中以使其永久化。
这可以在编译时通过在构建curl时传递
--with-ca-path=DIRECTORY
来使用curl进行更改,但我建议保持原样。
更好的是,找出您的操作系统和/或 OpenSSL 正在使用的 CA 路径/文件,并在其中添加相关证书。我不知道它们在 Mac 上的位置,但您应该有一个受信任的 CA 证书目录,curl 正在使用该目录进行验证(可能在 /etc 中的某个位置)。
如果您的curl版本不是使用TLS后端构建的
Schannel
,您可以将环境变量CURL_CA_BUNDLE
设置为证书文件的路径。
您可以通过运行
curl -V
来验证这一点。如果版本字符串不包含 Schannel
这个答案适用于您。
请注意,如果您的主文件夹中有证书,则应写出完整路径,而不是使用
~
。
这对我有用:
export CURL_CA_BUNDLE="/Users/myuser/cert.crt"
来源:cURL 文档