target/output.jar output.jar
ENTRYPOINT ["/bin/sh", "-c", "run.sh"]
скрипт:
echo "Certificate installer script is running..."
for cert_file in /etc/ssl/app/certs/*.crt;
do
if [ -f "$cert_file" ]; then
echo "Processing file: $cert_file"
keytool -import -trustcacerts -cacerts -storepass changeit -noprompt -alias "$cert_file" -file "$cert_file"fi
done
java -jar output.jar
прежде чем запустить приложение мне нужно добавить самоподписанные сертификаты в cacerts.
после того как добавлены сертификаты стартует приложение, судя по логам все проходит успешно.
не смотря на то, что сертификаты добавлены, при попытке обратиться к адресу, для которого создан сертификат, я все равно получаю
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
приложение общается с keycloak, если это важно.
тестировал у себя локально на windows 10. после добавления сертификата все работает корректно.
само приложение запускаю в kubernetes/containerd
кто нибудь знает в чем может быть проблема?
Выбери своего бойца: 1) проверить что импорт выполнен успешно 2) возможно на кейклоке включен mTLS, тогда нужен еще клиентский ключ/серт 3) ипортируется не тот серт 4) сервис поднимает свой ssl context и игнорит cacerts
1. как я написал, судя по логам сертификат успешно импортирован, проверил руками - результат тот же 2. не включен 3. точно тот 4. вот тут можно подробнее? используется spring boot и tomcat икак я уже написал, я проделал все эти действия руками у себя локально - все работает корректно.
> 4. вот тут можно подробнее? если ты сам писал этот сервис и ничего такого не делал - то все ok
Обсуждают сегодня