rustls / rustls/rustls-platform-verifier

rustls-platform-verifier doesn't work on termux

Open
#219 13 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug O-Android
Dominant language
Rust
Stars
158
Forks
60
Avg merge
5d 10h
Merged PRs (30d)
3

Description

cargo-bins/cargo-binstall#2473

Binaries built for aarch64-unkown-linux-* failed to get the openssl certs stored in /data/data/com.termux/files/usr/etc/tls/ and then failed in termux without getting any fallback

https://docs.rs/rustls-platform-verifier/0.6.2/src/rustls_platform_verifier/verification/others.rs.html#106

This line fails on UNIX, except for apple, android and wasm32, if rustls-native-cert cannot find any certificate , and obviously it isn't smart enough to find native certa in termux

It only uses hardcoded certificates for wasm32

For android, rusts-platform-verifier assumes you are building an android app requires extra initialization to get the java runtime, otherwise straight failure without even trying to find native certa

https://docs.rs/rustls-platform-verifier/0.6.2/rustls_platform_verifier/android/index.html

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with verification/others.rs in the linked rustls-platform-verifier source and read the Android platform-verifier documentation. Investigate the certificate lookup behavior for Termux and the reported /data/data/com.termux/files/usr/etc/tls/ location. Done means certificate verification succeeds in Termux without requiring Android Java-runtime initialization or an unavailable fallback.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.