Thank you Mark.

Do you mind to share some more detail? I can't see a bugzilla...

> Am 15.01.2026 um 19:03 schrieb Mark Thomas <[email protected]>:
> 
> There is an issue with Tomcat Native 1.3.4, OCSP and the APR/Native connector.
> 
> Your options are:
> - switch back to 1.3.1
> - switch to NIO or NIO2 rather than APR
> - disable OCSP (set ocspEnabled="false" on the SSLHostConfig)
> 
> Mark
> 
> 
> On 15/01/2026 17:16, [email protected] <mailto:[email protected]> wrote:
>> BTW:
>> From the release notes:
>>  * Add: .gif Add the ability to configure the OCSP checks to soft-fail
>>    - i.e. if the responder cannot be contacted or fails to respond in a
>>    timely manner the OCSP check will not fail. (markt)
>>  * Add: .gif Add a configurable timeout to the writing of OCSP requests
>>    and reading of OCSP responses. (markt)
>>  * Add: .gif Add the ability to control the OCSP verification flags.
>>    (markt)
>> How can I configure the new settings? Or control the OCSP verification flags?
>> Thanks again.
>>> Am 15.01.2026 um 18:11 schrieb [email protected]:
>>> 
>>> Hi all.
>>> 
>>> I've compiled the newest version of tomcat native in my tomcat 9.0.113 
>>> docker container.
>>> 
>>> Now authentication with a client certificate fails. This has been working 
>>> fine with 1.3.1/2.0.9.
>>> And the same setup still works with the JSSE connector.
>>> 
>>> As I read in the release notes there have been changes in the verification 
>>> of OCSP responses. My assumption, as the certs and client have not changed, 
>>> would be that there is something missing or a bug. Maybe my certs are 
>>> wrong, but JSSE is not complaining...
>>> 
>>> Is there anything I can try to debug or get more information within tomcat?
>>> 
>>> Thank You
>>> 
>>> Peter
>>> 
>>> Find my logs and config below:
>>> 
>>> ▶ curl -v --http1.1 https://tomcat.fritz.box:8843 --cacert 
>>> chain.logopk.crt.pem --cert client.crt:xxx --cert-type PEM --key client.key
>>> * Host tomcat.fritz.box:8843 was resolved.
>>> * IPv6: (none)
>>> * IPv4: 192.168.126.130
>>> *   Trying 192.168.126.130:8843...
>>> * ALPN: curl offers http/1.1
>>> * TLSv1.3 (OUT), TLS handshake, Client hello (1):
>>> * SSL Trust Anchors:
>>> *   CAfile: chain.logopk.crt.pem
>>> * TLSv1.3 (IN), TLS handshake, Server hello (2):
>>> * TLSv1.3 (IN), TLS change cipher, Change cipher spec (1):
>>> * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
>>> * TLSv1.3 (IN), TLS handshake, Request CERT (13):
>>> * TLSv1.3 (IN), TLS handshake, Certificate (11):
>>> * TLSv1.3 (IN), TLS handshake, CERT verify (15):
>>> * TLSv1.3 (IN), TLS handshake, Finished (20):
>>> * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
>>> * TLSv1.3 (OUT), TLS handshake, Certificate (11):
>>> * TLSv1.3 (OUT), TLS handshake, CERT verify (15):
>>> * TLSv1.3 (OUT), TLS handshake, Finished (20):
>>> * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519MLKEM768 / 
>>> RSASSA-PSS
>>> * ALPN: server accepted http/1.1
>>> * Server certificate:
>>> *   subject: C=DE; ST=Hessen; L=Dreieich; O=logo; OU=logo; 
>>> CN=tomcat.fritz.box
>>> *   start date: Jan 14 22:20:04 2026 GMT
>>> *   expire date: Apr 14 22:21:04 2026 GMT
>>> *   issuer: C=DE; ST=Hessen; O=logo; OU=logo; CN=logo Intermediate CA 2025; 
>>> emailAddress=logo@xxx
>>> *   Certificate level 0: Public key type RSA (4096/152 Bits/secBits), 
>>> signed using sha512WithRSAEncryption
>>> *   Certificate level 1: Public key type RSA (4096/152 Bits/secBits), 
>>> signed using sha512WithRSAEncryption
>>> *   subjectAltName: "tomcat.fritz.box" matches cert's "tomcat.fritz.box"
>>> * SSL certificate verified via OpenSSL.
>>> * Established connection to tomcat.fritz.box (192.168.126.130 port 8843) 
>>> from 192.168.126.1 port 54222
>>> * using HTTP/1.x
>>>> GET / HTTP/1.1
>>>> Host: tomcat.fritz.box:8843
>>>> User-Agent: curl/8.18.0
>>>> Accept: */*
>>>> 
>>> * Request completely sent off
>>> * TLSv1.3 (IN), TLS alert, unknown CA (560):
>>> * OpenSSL SSL_read: OpenSSL/3.6.0: error:0A000418:SSL routines::tlsv1 alert 
>>> unknown ca, errno 0
>>> * closing connection #0
>>> curl: (56) OpenSSL SSL_read: OpenSSL/3.6.0: error:0A000418:SSL 
>>> routines::tlsv1 alert unknown ca, errno 0
>>> 
>>> as comparison the same request with native 1.3.1:
>>> 
>>> ▶ curl -v --http1.1 https://tomcat.fritz.box:8843 --cacert 
>>> chain.logopk.crt.pem --cert client.crt:xxx --cert-type PEM --key client.key
>>> * Host tomcat.fritz.box:8843 was resolved.
>>> * IPv6: (none)
>>> * IPv4: 192.168.126.130
>>> *   Trying 192.168.126.130:8843...
>>> * ALPN: curl offers http/1.1
>>> * TLSv1.3 (OUT), TLS handshake, Client hello (1):
>>> * SSL Trust Anchors:
>>> *   CAfile: chain.logopk.crt.pem
>>> 
>>> * TLSv1.3 (IN), TLS handshake, Server hello (2):
>>> * TLSv1.3 (IN), TLS change cipher, Change cipher spec (1):
>>> * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
>>> * TLSv1.3 (IN), TLS handshake, Request CERT (13):
>>> * TLSv1.3 (IN), TLS handshake, Certificate (11):
>>> * TLSv1.3 (IN), TLS handshake, CERT verify (15):
>>> * TLSv1.3 (IN), TLS handshake, Finished (20):
>>> * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
>>> * TLSv1.3 (OUT), TLS handshake, Certificate (11):
>>> * TLSv1.3 (OUT), TLS handshake, CERT verify (15):
>>> * TLSv1.3 (OUT), TLS handshake, Finished (20):
>>> * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519MLKEM768 / 
>>> RSASSA-PSS
>>> * ALPN: server accepted http/1.1
>>> * Server certificate:
>>> *   subject: C=DE; ST=Hessen; L=Dreieich; O=logo; OU=logo; 
>>> CN=tomcat.fritz.box
>>> *   start date: Jan 14 22:20:04 2026 GMT
>>> *   expire date: Apr 14 22:21:04 2026 GMT
>>> *   issuer: C=DE; ST=Hessen; O=logo; OU=logo; CN=logo Intermediate CA 2025; 
>>> emailAddress=logo@xxx
>>> *   Certificate level 0: Public key type RSA (4096/152 Bits/secBits), 
>>> signed using sha512WithRSAEncryption
>>> *   Certificate level 1: Public key type RSA (4096/152 Bits/secBits), 
>>> signed using sha512WithRSAEncryption
>>> *   subjectAltName: "tomcat.fritz.box" matches cert's "tomcat.fritz.box"
>>> * SSL certificate verified via OpenSSL.
>>> * Established connection to tomcat.fritz.box (192.168.126.130 port 8843) 
>>> from 192.168.126.1 port 54529
>>> * using HTTP/1.x
>>>> GET / HTTP/1.1
>>>> Host: tomcat.fritz.box:8843
>>>> User-Agent: curl/8.18.0
>>>> Accept: */*
>>>> 
>>> * Request completely sent off
>>> * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
>>> * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
>>> < HTTP/1.1 200
>>> < Strict-Transport-Security: max-age=31536000
>>> < X-Frame-Options: DENY
>>> < X-Content-Type-Options: nosniff
>>> < X-XSS-Protection: 1; mode=block
>>> < Content-Type: text/html;charset=ISO-8859-1
>>> < Content-Length: 16
>>> < Date: Thu, 15 Jan 2026 17:05:10 GMT
>>> < Server: Apache Tomcat
>>> <
>>> 
>>> This is Tomcat
>>> * Connection #0 to host tomcat.fritz.box:8843 left intact
>>> 
>>> 
>>> 
>>> 
>>> 
>>> testssl.sh:
>>> 
>>> Certificate Validity (UTC)   89 >= 60 days (2026-01-14 22:20 --> 2026-04-14 
>>> 22:21)
>>> ETS/"eTLS", visibility info  not present
>>> Certificate Revocation List  http://crl.fritz.box:8881/step.crl.pem
>>> OCSP URI                     http://ocsp.fritz.box:8889
>>> OCSP stapling                not offered
>>> OCSP must staple extension   --
>>> 
>>> 
>>> <Connector port="8443"
>>>           protocol="org.apache.coyote.http11.Http11Nio2Protocol"
>>>           
>>> sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation"
>>>           allowTrace="false"
>>>           maxThreads="150"
>>>           SSLEnabled="true"
>>>           compression="off"
>>>           scheme="https"
>>>           server="Apache Tomcat"
>>>           secure="true"
>>>           defaultSSLHostConfigName="${hostname:-docker.fritz.box}" >
>>>    <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" 
>>> compression="on" />
>>>    <SSLHostConfig
>>>              hostName="tomcat.fritz.box"
>>>              honorCipherOrder="true"
>>>              protocols="+TLSv1.2,+TLSv1.3"
>>>              certificateVerification="none"
>>>              certificateRevocationListFile="${catalina.base}/conf/ssl/ 
>>> ca-bundle-client.crl"
>>>              truststoreFile="${catalina.base}/conf/ssl/cacerts.jks"
>>>              truststorePassword="changeit"
>>>              
>>> ciphers="TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:!kECDH:ECDH+AESGCM:ECDH+CHACHA20:!aNULL:!SHA1:!AESCCM"
>>>  >
>>>       <Certificate certificateKeystoreFile="${catalina.base}/conf/ssl/ 
>>> tomcat.p12"
>>>                    certificateKeystorePassword="changeit"
>>>                    certificateKeyAlias="tomcat"
>>>                    type="RSA" />
>>>    </SSLHostConfig>
>>>  </Connector>
>>> 
>>>  <Connector port="8843"
>>>             protocol="org.apache.coyote.http11.Http11Nio2Protocol"
>>>             
>>> sslImplementationName="org.apache.tomcat.util.net.openssl.OpenSSLImplementation"
>>>             server="Apache Tomcat"
>>>             allowTrace="false"
>>>             maxThreads="150"
>>>             SSLEnabled="true"
>>>             defaultSSLHostConfigName="${hostname:-docker.fritz.box}" >
>>>    <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" 
>>> compression="on" />
>>>    <SSLHostConfig honorCipherOrder="true" insecureRenegotiation="false"
>>>                   hostName="tomcat.fritz.box"
>>>                   protocols="+TLSv1.2,+TLSv1.3"
>>>                   certificateVerification="required"
>>>                   caCertificateFile="${catalina.base}/conf/ssl/ 
>>> chain.logopk.crt.pem"
>>>                   disableCompression="true"
>>>                   disableSessionTickets="true"
>>>                   
>>> ciphers="TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:!kECDH:ECDH+AESGCM:ECDH+CHACHA20:!aNULL:!SHA1:!AESCCM"
>>>                   certificateRevocationListFile="${catalina.base}/ 
>>> conf/ssl/ca-bundle-client.crl">
>>>       <Certificate certificateKeyFile="${catalina.base}/conf/ssl/ 
>>> tomcat.key"
>>>                    certificateFile="${catalina.base}/conf/ssl/tomcat.crt"
>>>                    certificateChainFile="${catalina.base}/conf/ssl/ 
>>> int.logopk.crt.pem"
>>>                    type="RSA" />
>>>    </SSLHostConfig>
>>>  </Connector>
>>> 
>>> 
>>> 
>>> 
>>> root@tomcat:/usr/local/tomcat# bin/version.sh
>>> Using CATALINA_BASE:   /opt/apache-tomcat.base
>>> Using CATALINA_HOME:   /usr/local/tomcat
>>> Using CATALINA_TMPDIR: /opt/apache-tomcat.base/temp
>>> Using JRE_HOME:        /opt/java/openjdk
>>> Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/ 
>>> tomcat/bin/tomcat-juli.jar
>>> Using CATALINA_OPTS:   -XX:NativeMemoryTracking=summary  - 
>>> Dhostname=docker3.fritz.box -Djava.awt.headless=true - 
>>> Djavax.net.ssl.trustStore=/opt/apache-tomcat.base/conf/ssl/cacerts.jks 
>>> -Xlog:gc:/opt/apache-tomcat.base/logs/gc.log - 
>>> Djava.security.egd=file:/dev/urandom -Dsun.net.inetaddr.ttl=60 - 
>>> Djava.library.path=/usr/local/tomcat/native-jni-lib - 
>>> Djdk.tls.ephemeralDHKeySize=2048 - 
>>> Djdk.tls.rejectClientInitiatedRenegotiation=true - 
>>> Djdk.tls.server.enableStatusRequestExtension=true - 
>>> Dcom.sun.management.jmxremote - Dcom.sun.management.jmxremote.port=10001 - 
>>> Dcom.sun.management.jmxremote.rmi.port=10002 - 
>>> Dcom.sun.management.jmxremote.authenticate=false - 
>>> Dcom.sun.management.jmxremote.ssl=false  - 
>>> Djava.rmi.server.hostname=docker3.fritz.box - 
>>> Dcom.sun.management.jmxremote.local.only=false -javaagent:/opt/apache- 
>>> tomcat.base/bin/jmx_prometheus_javaagent-0.12.0.jar=8080:/opt/apache- 
>>> tomcat.base/bin/tomcat.yaml  -XX:+UnlockDiagnosticVMOptions
>>> NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/ 
>>> java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL- UNNAMED 
>>> --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add- 
>>> opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/ 
>>> java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL- 
>>> UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
>>> Server version: Apache Tomcat/9.0.113
>>> Server built:   Dec 2 2025 19:51:24 UTC
>>> Server number:  9.0.113.0
>>> OS Name:        Linux
>>> OS Version:     6.12.57+deb13-arm64
>>> Architecture:   aarch64
>>> JVM Version:    11.0.29+7
>>> JVM Vendor:     Eclipse Adoptium
>>> 
>>> root@tomcat:/usr/local/tomcat# openssl version
>>> OpenSSL 3.5.4 30 Sep 2025 (Library: OpenSSL 3.5.4 30 Sep 2025)
>>> 
>>> tomcat  | 15-Jan-2026 14:45:10.675 INFO [main] 
>>> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache 
>>> Tomcat Native library [1.3.4] using APR version [1.7.5].
>>> 
>>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected] 
> <mailto:[email protected]>
> For additional commands, e-mail: [email protected] 
> <mailto:[email protected]>

Reply via email to