Find TLS protocol configuration

Proprietary

Inventories every place a Java source decides which TLS protocol versions and cipher suites may be negotiated, and classifies each by whether TLS 1.3 — the only version JEP 527 hybrid key exchange exists for — remains reachable. Covers SSLContext.getInstance (whose algorithm name is a ceiling, never a floor), the setProtocols/setEnabledProtocols and setCipherSuites/setEnabledCipherSuites sinks, the setSSLParameters sink that applies a parameter bundle assembled elsewhere, the jdk.tls.client.protocols, jdk.tls.server.protocols, https.protocols, jdk.tls.client.cipherSuites and jdk.tls.server.cipherSuites system properties, BouncyCastle getSupportedVersions and getSupportedCipherSuites overrides, and default-acquisition sites that configure no floor at all. A pinned cipher list with no RFC 8446 suite blocks TLS 1.3 even when the protocol floor allows it. Findings land in the TLS configuration inventory data table. Scope is JSSE and BouncyCastle: Netty, OkHttp, Apache HttpClient and servlet-container configuration are not scanned, and -D flags in build files and launch scripts are invisible, so an absent row is not evidence of a modern floor.

io.moderne.cryptography.pqc.FindTlsProtocolConfiguration

Optional

detectAbsenceBoolean

Emit no-explicit-floor rows for default-acquisition call sites — SSLContext.getDefault(), SSLSocketFactory.getDefault(), HttpClient.newHttpClient(), an HttpClient builder chain without sslContext/sslParameters, and an HttpsURLConnection acquired in a file that pins no socket factory. Set to false to restrict the inventory to explicit protocol configuration. Default true.

reportCompliantBoolean

Include modern-floor-tls12 and modern-floor-tls13 rows so the inventory is a complete census rather than a defect list. Set to false to report only PQC-blocking, legacy or ambiguous configurations. Default true.

mod run . --recipe=io.moderne.cryptography.pqc.FindTlsProtocolConfiguration

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.