Я пишу приложение на Java, которое подключается к двум веб-серверам через HTTPS. Один получает сертификат, доверенный через цепочку доверия по умолчанию, а другой использует самоподписанный сертификат. Конечно, подключение к первому серверу выполнялось из коробки, тогда как подключение к серверу с самоподписанным сертификатом не работало, пока я не создал trustStore с сертификатом с этого сервера. Однако подключение к доверенному серверу по умолчанию больше не работает, потому что, по-видимому, trustStore по умолчанию становится игнорируемым, когда я создал свой собственный.
Одно из решений, которое я нашел, заключалось в том, чтобы добавить сертификаты из trustStore по умолчанию в свой собственный. Тем не менее, мне не нравится это решение, потому что оно требует от меня управления этим trustStore. (Я не могу предположить, что эти сертификаты остаются статичными в обозримом будущем, верно?)
Кроме того, я нашел два 5-летних потока с аналогичной проблемой:
Регистрация нескольких хранилищ ключей в JVM
Как получить несколько сертификатов SSL для сервера Java
Они оба проникают глубоко в инфраструктуру Java SSL. Я надеялся, что теперь есть более удобное решение, которое я могу легко объяснить в обзоре безопасности моего кода.