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’.