Skip to content

Features ​

CertBridge (module ID CertBridge) runs on Magisk, KernelSU, and APatch. Boot scripts and optional components do the actual work; the WebUI and CLI are interfaces for configuration and diagnostics.

Download: GitHub Releases (*_arm64.zip, *_arm32.zip, *_x86.zip, *_x64.zip, or *_lite.zip) → Installation

Components ​

ComponentPurpose
Magisk modulepost-fs-data / service: merges CAs, binds trust stores, and optionally performs late injection
WebUI (optional)Home, Certificates, Logs, Hide, and More pages inside a supported root manager
Reboot-free hot mount (optional)Temporarily injects CAs from user credentials or shared storage; disappears after reboot
Mount-hide assistance (optional)Registers try_umount rules with SuSFS, ksud, or NoHello; installed by default but disabled
Zygisk filter (optional)Filters this module's lines from mountinfo/maps inside target processes; not installed by default
CLIbin/cb invokes cert_manager.sh (help, status, set, and more)

Core: system CA injection ​

At each boot, CertBridge:

  1. Reads the complete hash.N set from live system and Conscrypt APEX trust stores that are not already mounted by CertBridge.
  2. Adds enabled Reqable, ProxyPin, custom, and other add-on certificates.
  3. Validates the result, then bind-mounts the complete certificate set onto the trust-store paths in compatible mode.

CertBridge does not save a baseline copy of the system CAs or modify system-partition files. If the live source contains too few certificates, copying is incomplete, or an add-on fails validation, that injection is abandoned and the original system store remains untouched.

Certificate sources ​

SourceBehavior
ReqableRead from the installed app; no sample CA is bundled. Can be toggled and resynced at boot or refresh
ProxyPinPrefer the installed app's CA; if none is detected and ProxyPin was enabled during installation, use the bundled fallback
HttpCanary / ADGuardMay be offered for import as custom certificates during installation or detected on refresh
CustomUpload PEM/DER in WebUI or place files in certs/custom/; names come from certificate subjects
User store / shared storageTemporary only and requires the hot-mount component; see Configuration: Hot mount

Mount modes ​

ModeDescription
Compatible compatibleDefault. Merges and binds the complete store at runtime; does not require a Magic Mount meta-module
Lite Magic magicOverlays add-ons through system/ only; Magisk normally supports this, while KernelSU setups must verify that the overlay is correct

Meta-modules only overlay module system/ — they are not hide helpers. See Config · Magic Mount meta-modules.

On Android 14+, experimental_14_system=skip is the default: scripts bind the primary APEX and skip the system path to reduce traces. See Configuration: Mount modes.

Mount hiding at a glance ​

Detectors may inspect mountinfo, path names, or trust-store contents. CertBridge provides two optional, complementary mechanisms:

MechanismEffectDefault installation
SuSFS / kernel unmountRemoves CertBridge mounts for apps configured to “unmount modules”Component installed, switch off
Zygisk mount filteringFilters CertBridge mount/maps lines inside selected processesNot installed

Never enable module unmounting for the capture path, or the capture tool may report “root certificate not installed” and targets may lose connectivity. See Mount hiding.

Conservative experimental defaults ​

These options are off by default to minimize traces. Enable them under Hide → Advanced experiments only when certificate injection is incomplete:

KeyMeaning while disabled
late_injectInject only at boot; do not repair app namespaces from the service
boot_bind_zygoteBind only in init at boot; do not enter the zygote namespace
boot_multi_apexOn Android 14+, bind only the primary APEX and skip versioned APEX/system targets
service_probeNo backoff verification or delayed healing; only relevant with late_inject=1
force_bind_captureRespect “unmount modules” instead of force-binding Reqable/ProxyPin

Interfaces ​

Typical uses ​

ScenarioRecommendation
System-wide capture with Reqable / ProxyPinDefault installation, reboot, then verify matching fingerprints
Android 14+ APEX trust storeStart with compatible mode; enable experiments only if CAs are missing
Reduce mount-detection exposureInstall and enable hide assistance; optionally add Zygisk filtering
Minimize package sizeFlash the Lite package, which omits OpenSSL
Temporarily test a user-store CAUse hot mount; use custom import for permanent installation

What CertBridge does not do ​

  • It does not provide a traffic-capture proxy; use Reqable, ProxyPin, or another proxy.
  • It does not modify SELinux policy files (it only applies chcon to temporary certificate directories).
  • It does not permanently move user-credential certificates into the module.
  • It does not bundle a sample Reqable certificate.

Path reference ​

text
/data/adb/modules/CertBridge/
/data/adb/modules/CertBridge/config/certs.conf
/data/adb/modules/CertBridge/config/zn_blacklist.txt   # Zygisk blacklist
/data/adb/modules/CertBridge/config/zn_whitelist.txt   # Zygisk whitelist
/data/adb/modules/CertBridge/bin/cb
/data/adb/modules/CertBridge/data/install.log
/data/adb/certbridge/                                  # short-lived external update files, etc.

CertBridge