Cargo 失败,因为无法使用 SLES11 上给定的 CA 证书对对等证书进行身份验证

Cargo fails because the peer certificate cannot be authenticated with given CA certificates on SLES11

我试图让 Rust 和 Cargo 在 VM 运行 SUSE Linux Enterprise Server 11 (SLES11) 上工作,并在尝试编译 rust-by-example 程序时遇到 SSL 错误:

cargo --version
cargo 0.13.0-nightly (109cb7c 2016-08-19)

cargo build --verbose
Downloading rustc-serialize v0.3.19
error: unable to get packages from source

Caused by:
[60] Peer certificate cannot be authenticated with given CA certificates

Git 和 curl 在机器上正常工作。知道问题可能是什么吗?

这似乎是 Cargo 的一个问题,但应该已经解决了 (?)。我按照建议做了一个 strace 以查看它在哪里寻找证书并得到了这个:

stat64("/etc/ssl/certs/3513523f.0", 0xbffebe9c) = -1 ENOENT (No such file or directory)
stat64("/etc/ssl/certs/85cf5865.0", 0xbffebe9c) = -1 ENOENT (No such file or directory)

它搜索的那两个不存在。我不知道从哪里开始,哪些证书是 valid/good,所以任何帮助都会很好。

我更新了本地证书,现在我可以在 SLES11 上使用 Cargo 下载代码了。