Hi,
We are upgrading from Lucee 5.4 to Lucee 6.2 for out app that runs in a Docker container built from official Lucee Docker light Nginx images.
The pertinent lines from our Docker file are
FROM lucee/lucee:6.2.3.35-light-nginx
:
COPY lib/ezsign-4.1.2.jar /opt/lucee/web/context/ezsign-4.1.2.jar
:
:
ENV LUCEE_DESERIALIZEJSON_ALLOWEMPTY=true
ENV LUCEE_QUERY_ALLOWEMPTYASNULL=true
ENV LUCEE_MAPPING_FIRST=true
ENV LUCEE_STORE_EMPTY=true
ENV LUCEE_USE_LUCEE_SSL_TRUSTSTORE=/opt/java/openjdk/lib/security/cacerts
:
RUN /usr/local/tomcat/bin/prewarm.sh
:
COPY --chmod=755 bin/entrypoint_dev.sh /usr/local/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
and the pertinent lines of entrypoint.sh are:
#!/bin/bash
LUCEE_JAVA_OPTS="\
-DLog4jContextSelector=org.apache.logging.log4j.core.selector.ClassLoaderContextSelector\
-Djsch.server_host_key=ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss\
-XX:MaxRAMPercentage=${JAVA_OPT_MaxRAMPercentage}"
When the app tries to use the ezsign-4.1.2.jar file we get the following error:
class com.krestfield.ezsign.channels.KPkiChannel (in unnamed module @0x4af7f3bb) cannot access class sun.security.pkcs.PKCS9Attribute (in module java.base) because module java.base does not export sun.security.pkcs to unnamed module @0x4af7f3bb
We have been previously advised, on the Slack channel, to add the following as a workaround:
environment:
- JAVA_OPTS=--add-opens java.base/sun.security.pkcs=ALL-UNNAMED
but no matter where we try to do this we get the same error.
FYI this issue doesn’t happen at all with either the 6.1.2.47-light-nginx-tomcat9.0-jre11-temurin-jammy or 6.0.4.10 images
Don’t forget to tell us about your stack!
Java Version: 21.0.8 2025-07-15 LTS
Lucee Version: 6.2.3.35