Skip to content

feat: Android OpenSSL/TLS support#311

Draft
tonyfettes wants to merge 1 commit intomainfrom
android-openssl
Draft

feat: Android OpenSSL/TLS support#311
tonyfettes wants to merge 1 commit intomainfrom
android-openssl

Conversation

@tonyfettes
Copy link
Contributor

Summary

  • Add Android libssl.so dlopen path
  • BoringSSL compatibility: fall back to SSLeay() when OpenSSL_version_num() is unavailable
  • Load PEM_read_X509/X509_STORE_add_cert/X509_free from libcrypto.so for direct CA cert loading
  • Bypass Android's MD5-based hash filenames in /system/etc/security/cacerts/ by iterating the directory and loading each cert directly into the X509_STORE

Files changed

  • src/tls/openssl.c — Android cert loading, BoringSSL compat, libssl.so dlopen

🤖 Generated with Claude Code

@tonyfettes tonyfettes mentioned this pull request Mar 6, 2026
7 tasks
@coveralls
Copy link

coveralls commented Mar 6, 2026

Pull Request Test Coverage Report for Build 102

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 80.758%

Totals Coverage Status
Change from base Build 100: 0.0%
Covered Lines: 2237
Relevant Lines: 2770

💛 - Coveralls

- Add Android libssl.so dlopen path
- BoringSSL compatibility: fall back to SSLeay() when
  OpenSSL_version_num() is unavailable
- Load additional libcrypto functions (PEM_read_X509,
  X509_STORE_add_cert, X509_free) for Android CA cert loading
- Android's /system/etc/security/cacerts/ uses MD5-based hash filenames
  but OpenSSL 3.x expects SHA1-based hashes; bypass hash lookup by
  iterating the cert directory and loading each cert directly into the
  X509_STORE

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@tonyfettes tonyfettes marked this pull request as draft March 6, 2026 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants