Hello David,

David Loyall <da...@the-good-guys.net> skribis:

> I think the way `cargo` uses `libcurl` is preventing it from looking
> in the `CURL_CA_BUNDLE` environment variable to find where the
> certificate authority file is.
>
> Here we see what `cargo` I am using:
>
>     sebboh@geeks ~/projects$ cargo -V
>     cargo 1.36.0
>
> Here we see the contents of one of my environment variables:
>
>     sebboh@geeks ~/projects$ echo $CURL_CA_BUNDLE
>     /home/sebboh/.guix-profile/etc/ssl/certs/ca-certificates.crt
>
> Here we try to use `cargo` for a common task:
>
>     sebboh@geeks ~/projects$ cargo install rustfmt-nightly
>         Updating crates.io index
>     error: failed to download from
> `https://crates.io/api/v1/crates/rustfmt-nightly/1.4.5/download`
>
>     Caused by:
>       [60] SSL peer certificate or SSH remote key was not OK (server
> certificate verification failed. CAfile: none CRLfile: none)

This was discussed recently on IRC:

  http://logs.guix.gnu.org/guix/2019-08-29.log#102010

Unfortunately we didn’t reach a conclusion.

My guess was that perhaps cargo honors a different environment
variable—i.e., not ‘SSL_CERT_FILE’, ‘SSL_CERT_DIR’, nor
‘CURL_CA_BUNDLE’.  The ‘ltrace -e getenv’ trick I gave might give us
clues about relevant environment variables.

Could you give it a try?

Thanks,
Ludo’.

Reply via email to