This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new 0e15dce689 Add simple PQC example
0e15dce689 is described below

commit 0e15dce6895357e58b702025a70ca1983d7fe282
Author: remm <[email protected]>
AuthorDate: Thu Mar 5 10:55:31 2026 +0100

    Add simple PQC example
---
 webapps/docs/ssl-howto.xml | 41 +++++++++++++++++++++++++++++++++++++----
 1 file changed, 37 insertions(+), 4 deletions(-)

diff --git a/webapps/docs/ssl-howto.xml b/webapps/docs/ssl-howto.xml
index 12db991c4e..8ef5c0dad7 100644
--- a/webapps/docs/ssl-howto.xml
+++ b/webapps/docs/ssl-howto.xml
@@ -272,7 +272,7 @@ loaded or not, use one of the following:</p>
 <source><![CDATA[<!-- Define an HTTP/1.1 Connector on port 8443, JSSE NIO 
implementation -->
 <Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
            
sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation"
-           port="8443" .../>
+           port="8443" .../>]]></source>
 
 <p>The OpenSSL JSSE implementation can also be configured explicitly if needed.
 If the Tomcat Native library or Java 22 is installed, using the
@@ -286,7 +286,7 @@ element.</p>
 <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443"
            
sslImplementationName="org.apache.tomcat.util.net.openssl.OpenSSLImplementation"
            .../>]]></source>
-<p>With Java 22 FFM API:</p>
+<p>With Java FFM API:</p>
 <source><![CDATA[<!-- Define an HTTP/1.1 Connector on port 8443, JSSE NIO 
implementation and OpenSSL -->
 <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443"
            
sslImplementationName="org.apache.tomcat.util.net.openssl.panama.OpenSSLImplementation"
@@ -297,7 +297,7 @@ OpenSSL on all connectors without having to add the
 <code>sslImplementationName</code> attribute on each.</p>
 <p>With Tomcat Native:</p>
 <source><![CDATA[<Listener 
className="org.apache.catalina.core.AprLifecycleListener"/>]]></source>
-<p>With Java 22 FFM API:</p>
+<p>With Java FFM API:</p>
 <source><![CDATA[<Listener 
className="org.apache.catalina.core.OpenSSLLifecycleListener"/>]]></source>
 <p>
 The <code>SSLRandomSeed</code> attribute of the listeners allows specifying a
@@ -526,12 +526,45 @@ nsComment="Testing OCSP Certificate"
 
 </section>
 
+<section name="Post Quantum Cryptography">
+
+<p>Use of PQC functionality requires OpenSSL 3.5 or newer.</p>
+
+<p>Setting up a hybrid PQC configuration involves generating two certificates.
+A traditional RSA one will handle non PQC clients, while a MLDSA certificate
+will be used for PQC. This kind of hybrid setup allows transitioning to PQC
+while still maintaining support for existing clients.</p>
+
+<p>A pure PQC configuration needs only a MLDSA certificate.</p>
+
+<p>Example hybrid configuration, assuming two certificates generated with
+OpenSSL and protected with a password:</p>
+
+<source><![CDATA[<Connector port="8443" protocol="HTTP/1.1"
+    SSLEnabled="true" scheme="https" secure="true">
+    <SSLHostConfig>
+        <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
+            certificateKeystorePassword="changeit"
+            type="RSA" />
+        <Certificate certificateKeystoreFile="conf/localhost-mldsa.jks"
+            certificateKeystorePassword="changeit"
+            type="MLDSA" />
+    </SSLHostConfig>
+</Connector>]]>
+</source>
+
+<p>PQC support can then be verified by connecting using curl:</p>
+
+<source><![CDATA[curl -k -v --curves X25519MLKEM768 --sigalgs ML-DSA-65 
https://localhost:8443/]]></source>
+
+</section>
+
 <section name="Troubleshooting">
 
 <p>Additional information may be obtained about TLS handshake failures by
 configuring the dedicated TLS handshake logger to log debug level messages by
 adding the following to <code>$CATALINA_BASE/conf/logging.properties</code>:
-<source>org.apache.tomcat.util.net.NioEndpoint.handshake.level=FINE</source>.
+<source>org.apache.tomcat.util.net.NioEndpoint.handshake.level=FINE</source>
 </p>
 
 <p>Here is a list of common problems that you may encounter when setting up


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to