Issue
Trying to import my cert into cacerts using openjdk docker image. Getting error java.io.FileNotFoundException.
Dockerfile
FROM openjdk:17.0.2-jdk
COPY target/classes/cert/mycert.cer mycert.cer
COPY entrypoint.sh entrypoint.sh
ENTRYPOINT ["sh", "./entrypoint.sh"]
EXPOSE 8888
entrypoint.sh
echo "Installing certs to JDK" && \
keytool -importcert -file mycert.cer -alias mycert -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit
docker build -f Dockerfile -t java_test2 .
docker run java_test2
Installing certs to JDK
Certificate was added to keystore
keytool error: java.io.FileNotFoundException: /usr/java/openjdk-17/jre/lib/security/cacerts (No such file or directory)
Solution
To use cacerts in OPENJDK use:
$JAVA_HOME/lib/security/cacerts
instead
$JAVA_HOME/jre/lib/security/cacerts
Answered By - Dilitand
Answer Checked By - David Goodson (JavaFixing Volunteer)