Needs: Apache httpd 2.4 with mod_ssl, built with OpenSSL 3.5 or later · Last tested: 2026-10-13

Enable X25519MLKEM768 on Apache httpd

Apache gets post-quantum key exchange from the OpenSSL that mod_ssl links. With OpenSSL 3.5 or later, X25519MLKEM768 is in the default group list; you only need to make sure nothing narrows it.

Before you start

Option 1: use OpenSSL's defaults (simplest)

  1. Look for a group or curve setting: grep -rniE "SSLOpenSSLConfCmd +(Groups|Curves)|SSLECDHCurve" /etc/apache2 /etc/httpd /usr/local/apache2/conf.
  2. Remove any line that leaves out X25519MLKEM768.
  3. Make sure TLS 1.3 is allowed:
SSLProtocol -all +TLSv1.2 +TLSv1.3
  1. Test and reload: apachectl configtest && apachectl graceful.

Option 2: list the groups yourself

  1. In the virtual host (or the server config), set the group list with X25519MLKEM768 first:
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLOpenSSLConfCmd Groups X25519MLKEM768:X25519:prime256v1
  1. Test and reload: apachectl configtest && apachectl graceful.

Keep X25519MLKEM768 first, or browsers that offer both get classical key exchange.

Then scan your domain below to check every host at once.

Check the change

Scan your domain to see whether every host now uses post-quantum key exchange.

Related check: Does my server support X25519MLKEM768?