如何在CURL中设置证书

问题描述 投票:0回答:2

为了获得成功的响应,我使用

curl --cacert <path of ca.pem> ...
,但是如何在mac的配置文件中设置ca.pem的路径,以便不每次都指定证书的路径,我可以直接使用
 curl ...

curl terminal ssl-certificate client-certificates
2个回答
26
投票

在您的系统上,您可以设置环境变量以指向这些文件。

尝试:

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 中的某个位置)。


0
投票

如果您的curl版本不是使用TLS后端构建的

Schannel
,您可以将环境变量
CURL_CA_BUNDLE
设置为证书文件的路径。

您可以通过运行

curl -V
来验证这一点。如果版本字符串不包含
Schannel
这个答案适用于您。

请注意,如果您的主文件夹中有证书,则应写出完整路径,而不是使用

~

这对我有用:

export CURL_CA_BUNDLE="/Users/myuser/cert.crt"

来源:cURL 文档

© www.soinside.com 2019 - 2024. All rights reserved.