Řešení známých problémů
Naposledy změněno Martin Mahr 2024/10/21 22:20
Nefungují výstupy (tisk kartiček)
Pokud je Tritius provozován u zákazníka a používá certifikační autoritu letsencrypt můžou v úložišti certifikátů Javy chybět záznamy pro tuto certifikačníé autoritu.
Letsencrypt je poměrně mladá certifikační autorita a ve starších verzích Javy (kromě těch nejnovějších) ještě není zanesena.
Pro ověření lze provést tento příkaz:
keytool -list -keystore /usr/lib/jvm/java-8-oracle/jre/lib/security/cacerts -alias letsencryptauthorityx1
V nových verzích šablony VM (od verze 1.16) je již tato certifikační autorita zanesena defaultně a něměly by tedy nastávat žádné problémy. Starší verze šablony lze buď upgradovat nebo použít script:
#!/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