Ваш код будет использовать то же хранилище ключей (загруженное из загрузчика классов), что и хранилище ключей по умолчанию и хранилище доверия по умолчанию. Это фактически эквивалентно установке -Djavax.net.ssl.keystore*
и -Djavax.net.ssl.truststore*
с одним и тем же значением.
Это хорошо, если ты так хочешь. (Вы можете захотеть закрыть InputStream
после загрузки хранилища ключей.)
Это повлияет на всю JVM и на все, что использует SSLContext.getDefault()
, в частности на все, что основано на SSLSocketFactory
(URLConnection
и т. Д.) По умолчанию.
Поскольку это будет ваше хранилище доверенных сертификатов по умолчанию, сертификаты доверенных сертификатов по умолчанию от основных СА не будут храниться в вашем хранилище доверенных сертификатов, если вы не импортируете их явно в копию, загружаемую из загрузчика классов.
Предположительно, у вас не будет большого количества новых сертификатов CA (или самозаверяющих), которым можно доверять. Возможно, было бы удобнее разделять хранилище ключей и хранилище доверенных сертификатов, поскольку хранилище доверенных сертификатов может быть общим для большинства ваших клиентов, и обычно это будет просто одноразовый шаг настройки в начале.