Прямой способ открыть самоподписанные HTTPS SSL URL-адреса в Java?

Я создаю приложение, которое должно открывать самозаверяющие URL-адреса HTTPS SSL в Java. Я узнал, что вы можете обойти проблемы с SSL, добавив вызов HttpsURLConnection.setDefaultHostnameVerifier (), где вы говорите, какие имена хостов разрешены.

Однако у меня есть вторая проблема, когда на моих серверах работают самозаверяющие сертификаты. Так что даже с обходом имени хоста я получаю исключения вроде:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: сбой построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели

Я посмотрел вокруг, и единственное решение, которое я нашел, - это добавить сертификат в хранилище ключей Java, но это проблема для меня, потому что я не контролирую, когда или как они обновляют Java, и я прочитал это хранилище ключей не сохраняется между обновлениями, и у меня нет доступа к системе за пределами JVM.

Мое приложение будет выполнять вызовы только на один сервер, поэтому, если бы был способ обойти самозаверяющие ограничения и никогда не обращаться к хранилищам ключей, это не было бы проблемой безопасности, но есть ли способ сделать это?

Ответы на вопрос(4)

Ваш ответ на вопрос