[Pkg-rust-maintainers] Bug#953668: cargo fails to find default X.509 certificates to validate https on powerpc

Daniel Kahn Gillmor dkg at fifthhorseman.net
Wed Mar 11 23:06:22 GMT 2020


Package: cargo
Version: 0.40.0-3

Starting from an empty ~/.cargo, by default on the powerpc platform,
cargo fails to find the right X.509 certificates to validate an https
connection to github.com.

But if i explicitly point at the standard CA certificates location, it
all seems to work:


```
(sid_powerpc-dchroot)dkg at perotto:~$ rm -rf .cargo
(sid_powerpc-dchroot)dkg at perotto:~$ strace -f -o cargo-clean.strace cargo search bindgen
    Updating crates.io index
error: failed to update registry `https://github.com/rust-lang/crates.io-index`

Caused by:
  failed to fetch `https://github.com/rust-lang/crates.io-index`

Caused by:
  the SSL certificate is invalid: 0x08 - The certificate is not correctly signed by the trusted CA; class=Ssl (16); code=Certificate (-17)
(sid_powerpc-dchroot)dkg at perotto:~$ rm -rf ~/.cargo && mkdir ~/.cargo && printf '[http]\ncainfo = "/usr/lib/ssl/certs/ca-certificates.crt"\n' > .cargo/config
(sid_powerpc-dchroot)dkg at perotto:~$ strace -f -o cargo-explicit-http-cainfo.strace cargo search bindgen
    Updating crates.io index
bindgen = "0.53.2"                       # Automatically generates Rust FFI bindings to C and C++ libraries.
libstrophe-sys-bindgen = "2.1.0"         # Rust bindings for libstrophe, generated using bindgen
node-bindgen = "0.1.2"                   # easy way to write nodejs module using rust
near-bindgen = "0.5.0"                   # Rust library for writing NEAR smart contracts. 
wasm-bindgen = "0.2.59"                  # Easy support for interacting between JS and Rust. 
serde-wasm-bindgen = "0.1.3"             # Native Serde adapter for wasm-bindgen
swift-bindgen = "0.0.0"                  # [WIP] Two-way bindings between Swift and Rust.
wasm-bindgen-console-logger = "0.1.1"    # A simple backend for the log crate that sends messages to the Web browser's console
jni-bindgen = "0.0.10"                   # Code generator for binding to JVM APIs from Rust
jni-bindgen-reflection = "0.0.10"        # Static reflection APIs for analyzing jars
... and 324 crates more (use --limit N to see more)
(sid_powerpc-dchroot)dkg at perotto:~$ 
```

I'm attaching the first cargo-clean.strace from above, and the first
2000 lines of cargo-explicit-http-cainfo.strace as well.  If you want to
compare the behaviors.

This might well be a bug in some dependency of cargo, of course.  feel
free to reassign the bug report if you can narrow it down.

     --dkg

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cargo-clean.strace
URL: <http://alioth-lists.debian.net/pipermail/pkg-rust-maintainers/attachments/20200311/fabab82d/attachment-0002.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cargo-explicit-http-cainfo.strace.head-2000
URL: <http://alioth-lists.debian.net/pipermail/pkg-rust-maintainers/attachments/20200311/fabab82d/attachment-0003.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 227 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-rust-maintainers/attachments/20200311/fabab82d/attachment-0001.sig>


More information about the Pkg-rust-maintainers mailing list