🔐 iBrowe TLS (Transport Layer Security) Implementation Overview

This document provides insight into how TLS (formerly SSL) is implemented and enforced in iBrowe across various platforms.


⚙️ TLS Implementation

  • Desktop & Android
    iBrowe leverages the unmodified upstream Chromium TLS stack.

  • iOS
    TLS connections are handled by the native operating system APIs (Apple’s networking stack).


🏛️ Root Certificate Store


📌 Root Pinning & HSTS Preloading

🔍 Test Domains

  • https://ssl-pinning.someblog.org/ → Expected to trigger a TLS error and be blocked
  • https://pinning-test.badssl.com/ → Should load with a red warning page (no TLS error)

🧾 Certificate Transparency (CT)

  • iOS
    Relies on Apple’s CT policy, with support built into WebKit.

  • Desktop & Android
    iBrowe enforces CT based on Chromium’s policy (started in version 1.56).
    SCT (Signed Certificate Timestamp) auditing is disabled for now.

Reference:
https://github.com/ibrowe/ibrowe-core/pull/17944


📎 Source: Adapted from Brave TLS documentation, updated for iBrowe with modified structure and links