Native TLS (iohNativeTLS)
A TLS 1.3 and TLS 1.2 implementation written entirely in Object Pascal on top of the sgcCrypto units, so it deploys nothing at all, on Windows, Linux, macOS, iOS or Android. Set TLSOptions.IOHandler := iohNativeTLS on a client, or SSLOptions.IOHandler := iohNativeTLS on a server, the IOCP and EPOLL server engines included. TLSOptions.NativeTLS_Options.Groups and TLSOptions.NativeTLS_Options.CipherSuites take colon separated, OpenSSL style lists. They default to X25519MLKEM768:X25519:secp256r1:secp384r1 and TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 plus the TLS 1.2 defaults, so a handshake against a peer that supports it is post-quantum hybrid with no configuration.
TLS 1.3 and TLS 1.2. TLSOptions.Version on a client, and SSLOptions.Version on a server, is the lowest version allowed: tls1_2 or tlsUndefined negotiates TLS 1.3 or TLS 1.2, and tls1_3 allows TLS 1.3 only. For TLS 1.2 only, list only TLS 1.2 suites in NativeTLS_Options.CipherSuites. TLS 1.2 offers ECDHE_ECDSA and ECDHE_RSA with AES-128-GCM, AES-256-GCM and ChaCha20-Poly1305 by default, while the ECDHE AES-CBC suites and the RSA key exchange are there only when you name them. It uses X25519, secp256r1 or secp384r1, because the hybrid post-quantum groups exist only in TLS 1.3. TLS 1.2 comes with the extended master secret of RFC 7627 and the RFC 8446 downgrade protection on both sides, and it refuses renegotiation and SHA-1 signatures.
What it does not do. The engine speaks TLS 1.3 and TLS 1.2 only, with no TLS 1.1, TLS 1.0 or SSL. There is no session resumption and no PSK, no 0-RTT and no QUIC. Trust roots come from TLSOptions.RootCertFile, plus the roots the operating system trusts when NativeTLS_Options.UseSystemRoots is True, read from the Windows ROOT store or a CA bundle file and never from the macOS or iOS keychain or the Android store, and the component event OnSSLVerifyPeer is not available for it, the engine has its own verification hooks. Stay on OpenSSL or a platform backend when you need any of those.
It is part of sgcCrypto, so it ships from the Standard edition up and in the standalone sgcCrypto pack.