v147 · Security · TLS · Post-Quantum
Compatibility Lab
Probes the adjacent WebCrypto and Resource Timing signals JavaScript can observe, then separates those signals from the TLS/QUIC hybrid KEM negotiation that Chrome performs below the web platform. Includes compatibility scenarios for servers, middleboxes, and enterprise opt-outs.
API probes
WebCrypto algorithm support
| Algorithm | Available | Notes |
|---|
Live WebCrypto key test
X25519 ECDH key generation + key agreement
Click "Run key test" to probe WebCrypto key algorithms…
Transport failure scenarios
Hybrid TLS deployment model
Context notes
/* X25519Kyber768 is a TLS/QUIC network-stack behavior - not a JS API. */
/* The hybrid key exchange happens automatically in the handshake when
Chrome and the server both support it. JavaScript cannot observe the
selected TLS NamedGroup, KEM, ClientHello, or enterprise policy state. */
/* What you CAN probe from JS: */
// 1. WebCrypto X25519 support for application-layer key agreement
async function hasX25519() {
try {
await crypto.subtle.generateKey({ name: 'X25519' }, false, ['deriveKey']);
return true;
} catch { return false; }
}
// 2. WebCrypto ECDH support for application-layer key agreement
async function hasECDH() {
try {
await crypto.subtle.generateKey({ name: 'ECDH', namedCurve: 'P-256' }, false, ['deriveKey']);
return true;
} catch { return false; }
}
// 3. Read the Resource Timing protocol token
// This reports values like "h2", "h3", or "http/1.1". It is not a TLS
// version, NamedGroup, or KEM detector.
function getApplicationProtocol() {
const entries = performance.getEntriesByType('navigation');
if (entries.length && entries[0].nextHopProtocol) {
return entries[0].nextHopProtocol;
}
return 'unknown';
}
/* For TLS, Chrome handles the hybrid KEM below the web platform.
For application-layer post-quantum security, use a web-exposed
post-quantum primitive when the platform provides one. */
References
implementation reference
Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗