Обычно эта ошибка означает, что сервер, с которым вы пытаетесь установить связь, использует сертификат, в котором (1) у вас нет сертификата, подключенного к вашему клиенту, и (2) у вас нет промежуточного сертификата, используемого для создайте сертификат на стороне сервера, связанный с вашим клиентом. Обычно вы видите эту ошибку, когда сертификат является либо самоподписанным, либо подписанным центром сертификации, не входящим в стандартное хранилище ключей Java.
Чтобы убедиться, что все вызовы от вашего клиента имеют, вы должны добавить сертификат в хранилище ключей, используемое вашим приложением. Это может быть либо стандартное хранилище ключей Java, либо хранилище ключей конкретного приложения, которое подключено к вашей JVM с использованием параметров запуска -Djavax.net.ssl.trustStore=<path to keystore>
и -Djavax.net.ssl.trustStorePassword=<password>
.
Эта ошибка может внезапно появиться, если сервер изменил свой сертификат, на что-то, о чем ваш клиент не знает.