Rozwiązanie znanych problemów
Ostatnio modyfikowane 2025/11/14 09:58 przez Jan Slezák
Nie działają wyjścia (drukowanie kart)
Jeśli Tritius jest używany u klienta i korzysta z certyfikatu letsencrypt, w magazynie certyfikatów Java mogą brakować wpisów dla tego certyfikatu.
Letsencrypt jest stosunkowo młodym urzędem certyfikacji i nie jest jeszcze uwzględniony w starszych wersjach Javy (z wyjątkiem najnowszych).
W celu weryfikacji można wykonać następujące polecenie:
keytool -list -keystore /usr/lib/jvm/java-8-oracle/jre/lib/security/cacerts -alias letsencryptauthorityx1
W nowych wersjach szablonu VM (od wersji 1.16) ten certyfikat jest już domyślnie wprowadzony, więc nie powinno być żadnych problemów. Starsze wersje szablonu można zaktualizować lub użyć skryptu:
#!/bin/sh
# Check if JAVA_HOME is set
if [ "$JAVA_HOME" = "" ]
then
echo "ERROR: JAVA_HOME must be set."
exit 1
fi
# Check if cacerts file is present
if [ ! -f $JAVA_HOME/jre/lib/security/cacerts ]
then
echo "ERROR: \$JAVA_HOME/jre/lib/security/cacerts not found. JAVA_HOME set correctly?"
exit 1
fi
# Download the letsencrypt certs
echo "Downloading certs..."
wget --quiet --continue https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.der
wget --quiet --continue https://letsencrypt.org/certs/lets-encrypt-x4-cross-signed.der
wget --quiet --continue https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.der
wget --quiet --continue https://letsencrypt.org/certs/letsencryptauthorityx1.der
wget --quiet --continue https://letsencrypt.org/certs/lets-encrypt-x2-cross-signed.der
wget --quiet --continue https://letsencrypt.org/certs/letsencryptauthorityx2.der
# Install certs into global keystore
echo "Adding certs to cacerts keystore (sudo password required)..."
sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias letsencryptx3 -file lets-encrypt-x3-cross-signed.der
sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias letsencryptx4 -file lets-encrypt-x4-cross-signed.der
sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias letsencryptx1 -file lets-encrypt-x1-cross-signed.der
sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias letsencryptauthorityx1 -file letsencryptauthorityx1.der
sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias letsencryptx2 -file lets-encrypt-x2-cross-signed.der
sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias letsenrcyptauthorityx2 -file letsencryptauthorityx2.der
# Remove downloaded certs
rm -f lets-encrypt-x3-cross-signed.der lets-encrypt-x4-cross-signed.der lets-encrypt-x1-cross-signed.der letsencryptauthorityx1.der lets-encrypt-x2-cross-signed.der letsencryptauthorityx2.der