You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Map the test domain to your local loopback interface:
3
-
```bash
4
-
echo"127.0.0.1 ech-test.fyp.local"| sudo tee -a /etc/hosts
1
+
# ECH Apache Implementation & Verification Suite
2
+
3
+
This repository contains the source code, build instructions, and an automated testing suite for Encrypted Client Hello (ECH) within the Apache `httpd` (mod_ssl) directory.
4
+
5
+
---
6
+
7
+
## 1. Build & Compilation Guide
8
+
To reproduce the experimental environment, you must build both the OpenSSL fork and Apache from source to ensure the ECH state machine is correctly linked.
9
+
10
+
### A. Build ECH-Enabled OpenSSL
11
+
We utilize a specific fork of OpenSSL that includes HPKE and ECH protocol support.
To verify that no SNI information leaks in cleartext, run the Tshark-based auditor:
78
+
sudo ./scripts/verify_ech.sh
79
+
80
+
Project Structure
81
+
/cases: Modular pytest logic.
82
+
83
+
/infrastructure: Dockerfiles and Apache httpd.conf templates.
84
+
85
+
/lib: Environment abstractions and Selenium/WebDriver drivers.
86
+
87
+
/scripts: Setup and wire-level verification tools.
88
+
89
+
/conf: Storage for generated .pem keys and ECHConfigs.
90
+
91
+
Success Criteria
92
+
Verification is successful if:
93
+
94
+
test_01 and test_02 return PASSED (Protocol and Browser Success).
22
95
96
+
test_04 identifies a Syntax Error (Robustness Success).
23
97
24
-
Test will succeed if firefox parses the provided ECHConfig, Apache uses the SSLECHKeyDir to decrypt ClientHello, and then routes the decrypted request to the ech-test.fyp.local VirtualHost, avoiding falling back to the public default.
98
+
verify_ech.sh detects zero occurrences of the string ech-test.fyp.local in the cleartext portion of the TLS ClientHello.
0 commit comments