openssl-tls-knowledge-patch
OpenSSL/TLS changes since training cutoff (3.4–4.0) — post-quantum cryptography, hybrid PQC TLS, QUIC server, OpenSSL 4.0 migration. Load before working with OpenSSL or TLS configuration.
What this skill does
# OpenSSL-TLS Knowledge Patch Covers OpenSSL 3.4–4.0 (2024-10-22 through 2026-04-07). Claude knows OpenSSL CLI basics through 3.0, TLS 1.2/1.3, certificate generation and management. It is **unaware** of post-quantum cryptography support, QUIC server APIs, and OpenSSL 4.0 breaking changes. ## Index | Topic | Reference | Key features | |---|---|---| | Post-quantum cryptography | [references/pqc-cryptography.md](references/pqc-cryptography.md) | ML-DSA/ML-KEM/SLH-DSA key generation, hybrid PQC TLS groups, group syntax | | OpenSSL 4.0 migration | [references/openssl4-migration.md](references/openssl4-migration.md) | Engines removed, SSLv3 gone, ECH, opaque ASN1_STRING, deprecated EC curves | | New features (3.5–3.6) | [references/new-features.md](references/new-features.md) | QUIC server, default cipher changes, LMS verification, EVP_SKEY, configutl | --- ## PQC Algorithm Quick Reference (OpenSSL 3.5+) OpenSSL 3.5 adds native FIPS 203/204/205 post-quantum algorithms. | Algorithm | Standard | Type | `genpkey -algorithm` names | |---|---|---|---| | ML-DSA | FIPS 204 | Signatures | `ML-DSA-44`, `ML-DSA-65`, `ML-DSA-87` | | ML-KEM | FIPS 203 | Key encapsulation | `ML-KEM-512`, `ML-KEM-768`, `ML-KEM-1024` | | SLH-DSA | FIPS 205 | Hash-based signatures | (stateless hash-based) | Alternate names accepted: `MLKEM768`, `MLDSA65`, etc. (no hyphens). ```bash # Generate PQC keys openssl genpkey -algorithm ML-DSA-65 -out mldsa65.pem openssl genpkey -algorithm ML-KEM-768 -out mlkem768.pem # Test PQC TLS connection openssl s_client -connect example.com:443 -groups X25519MLKEM768 ``` **Warning**: `openssl dgst` with one-shot algorithms (Ed25519, ML-DSA) silently truncates inputs >16 MiB (CVE-2025-15469, fixed in 3.5.5). Use library APIs for large files. --- ## Hybrid PQC TLS Groups (3.5+) Default TLS group list changed to prefer hybrid PQC: ``` ?*X25519MLKEM768 / ?*X25519:?secp256r1 / ?X448:?secp384r1:?secp521r1 / ?ffdhe2048:?ffdhe3072 ``` | Symbol | Meaning | |---|---| | `*` | Send keyshare proactively | | `?` | Optional (tolerate if unsupported) | | `/` | Keyshare group boundary | Two keyshares sent by default: `X25519MLKEM768` + `X25519`. Available hybrid groups: `X25519MLKEM768`, `X448MLKEM1024`, `SecP256r1MLKEM768`, `SecP384r1MLKEM1024`. --- ## OpenSSL 4.0 Breaking Changes Summary | Change | Migration | |---|---| | Engines fully removed | `OPENSSL_NO_ENGINE` always defined; migrate to providers | | SSLv3 removed | Completely gone, not just disabled | | `c_rehash` removed | Use `openssl rehash` instead | | `ASN1_STRING` opaque | Cannot access struct fields directly; use accessor APIs | | Deprecated EC curves disabled | Use `enable-tls-deprecated-ec` to re-enable | New in 4.0: **Encrypted Client Hello (ECH)** per RFC 9849, **FFDHE in TLS 1.2** per RFC 7919. See [references/openssl4-migration.md](references/openssl4-migration.md) for details. --- ## QUIC Server (3.5) OpenSSL 3.5 adds server-side QUIC support (RFC 9000). ```c // Create QUIC server context SSL_CTX *ctx = SSL_CTX_new(OSSL_QUIC_server_method()); // Accept incoming QUIC connection SSL *conn = SSL_accept_connection(ssl, 0); // Complete handshake SSL_do_handshake(conn); ``` **Note**: `SSL_accept()` on accepted connections was broken in 3.5.0 (fixed in 3.5.1). Use `SSL_do_handshake()` instead for portability. External QUIC stacks can use `SSL_set_quic_tls_cbs()` to access just the TLS handshake with a custom record layer. --- ## Default Cipher Change (3.5) `req`, `cms`, and `smime` changed default cipher from `des-ede3-cbc` to `aes-256-cbc`. Specify `-aes-256-cbc` explicitly in scripts for cross-version portability: ```bash openssl req -new -key key.pem -out req.pem -aes-256-cbc openssl cms -encrypt -aes-256-cbc -in msg.txt -out msg.cms cert.pem ``` --- ## OpenSSL 3.6 Features (Oct 2025) - **LMS signature verification** (NIST SP 800-208) in FIPS and default providers — hash-based stateful signatures for firmware/code signing verification - **EVP_SKEY expansion**: `EVP_KDF_CTX_set_SKEY()`, `EVP_KDF_derive_SKEY()`, `EVP_PKEY_derive_SKEY()` for opaque symmetric key derivation - **`openssl configutl`**: New utility to dump processed config files — useful for debugging `openssl.cnf` includes and variable expansion - **FIPS 186-5 deterministic ECDSA** in the FIPS provider (RFC 6979, reproducible signatures) See [references/new-features.md](references/new-features.md) for full details and code examples.
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.