Мы перемещаем службу с JDK 10.0.1 на JDK 11. Эта служба взаимодействует с использованием соединения TLS, где сервер имеет самозаверяющий сертификат.
ЦС этого сертификата добавлен в cacerts обеих JVM.
При использовании JDK 10 этого было достаточно, чтобы иметь возможность использовать HttpBuilder API и взаимодействовать с этой службой. При запуске того же кода (только с изменениями для перехода с jdk.incubator.http на java.net.http) на JDK 11 я столкнулся с пресловутой ошибкой «java.security.cert.CertificateException: нет альтернативных имен субъектов»?
Я понимаю, что это легко исправить, создав HostNameVerifier с пользовательской реализацией, которая затем используется с HttpsUrlConnection.
Но я бы предпочел использовать HttpBuilder API, если это возможно.