将自签名证书添加到 ubuntu 以与curl 一起使用

发布于 2024-10-19 03:00:17 字数 403 浏览 5 评论 0原文

我正在开发一个程序,其中有一个使用自签名证书运行的虚拟开发服务器。我的程序使用curl 连接到服务器并提取信息,但需要使用SSL 来完成此操作。当我尝试连接时,收到错误“SSL 证书问题,请验证 CA 证书是否正常。”运行 Firefox 时,我可以将证书添加到 Firefox,但这对我的curl 没有帮助。如何添加curl识别的证书?

卷曲 7.19.7 (x86_64-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15 协议: tftp ftp telnet dict ldap ldaps http 文件 https ftps 功能: GSS-协商 IDN IPv6 大文件 NTLM SSL libz

Ubuntu 10.04 Lucid Lynx 64 位

I'm developing a program where I have a virtual development server that runs with a self signed certificate. My program uses curl to connect to the server and pull information, but needs to do so with SSL. When I try to connect I get the error "SSL certificate problem, verify that the CA cert is OK." When running firefox I can add the certificate to just firefox, but that doesn't help me with curl. How do I add the certificate for curl to recognize?

curl 7.19.7 (x86_64-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

Ubuntu 10.04 Lucid Lynx 64bit

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

萌化 2024-10-26 03:00:17

这是对我有用的一种方法:

首先,从开发域获取 CA 证书并将其保存到名为“logfile”的文件中。 (假设 SSL 端口为 443)

openssl s_client -connect xxxxx.com:443 |tee logfile

然后,使用 --cacert curl 选项来使用保存的证书文件。

curl --cacert logfile **THE REST OF YOUR CURL COMMAND**

来源:
http://curl.haxx.se/docs/sslcerts.html

This is one way that worked for me:

First, get the CA cert from the development domain and save it to a file called 'logfile'. (Assumes port 443 for SSL)

openssl s_client -connect xxxxx.com:443 |tee logfile

Then, use the --cacert curl option to use the saved certificate file.

curl --cacert logfile **THE REST OF YOUR CURL COMMAND**

Source:
http://curl.haxx.se/docs/sslcerts.html

凶凌 2024-10-26 03:00:17

我会将证书复制到 /usr/local/share/ca-certificates/

让我引用 update-ca-certificates 的手册页:

此外,在 /usr/local/share/ca-certificates 下找到的所有具有 .crt 扩展名的证书也包含为隐式信任。

I'd copy the certificate to /usr/local/share/ca-certificates/.

Let me quote the man page for update-ca-certificates:

Furthermore all certificates with a .crt extension found below /usr/local/share/ca-certificates are also included as implicitly trusted.

海风掠过北极光 2024-10-26 03:00:17

将 rootCA.pem 添加到 /usr/share/ca-certificates 目录中。

之后使用以下命令更新您的证书:update-ca-certificates --fresh 命令。

我刚刚这样做了,效果很好。

Add your rootCA.pem in /usr/share/ca-certificates directory.

After that update your certificates with: update-ca-certificates --fresh command.

I just did that, and works fine.

抚笙 2024-10-26 03:00:17

首先,在 Linux 中,您应该将 CERTIFICATE.cert 添加到 /usr/local/share/ca-certificates/
之后,通过将 --cacert CERTIFICATE.cert 添加到您的命令中,curl 将在该请求中自动使用此证书。

经验:
curl --cacert CERTIFICATE.cert 获取“URL”。

显然,您可以编辑请求以获得所需的请求。

First, in your Linux, you should add your CERTIFICATE.cert to /usr/local/share/ca-certificates/.
After that by adding --cacert CERTIFICATE.cert to your command, curl will automatically use this certificate in that request.

Exp:
curl --cacert CERTIFICATE.cert GET "URL".

Obviously, you can edit the request to have your desired request.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文