2017-02-21 14 views
-1

Я работаю на платформе (java), которая интегрируется с несколькими (микро) службами, все из которых связаны через SSL. поэтому платформа выступает в роли SSL-клиента.Java SSL без использования Truststore

Я не могу импортировать все сертификаты разных служб в свою доверенную платформу платформы, вместо этого мы хотим использовать разные SSLContext для разных сервисов.

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

Мы собираемся получить цепочку сертификатов из службы обнаружения и использовать сертификат как есть и ввести его в SSLContext, не импортируя его в trusstore, а затем используя его.

TL; DR Есть ли способ настроить SSLContext на Java без использования доверительных магазинов, но только с использованием пакета ca в качестве PEM/cert?

+0

Конечно, есть способ, но ... «сохранить так много truststores» плохо и «сохранить так много отдельных сертификатов» хорошо? какая разница? – Vadim

+0

Ваша цель неясна. Во-первых, вам не нужен собственный собственный магазин доверия, если вам не нужно общаться с сервером, который отправляет самозаверяющий сертификат. Во-вторых, нет причин держать самоподписанные сертификаты в отдельных магазинах доверия. Неясно, что вы спрашиваете. – EJP

ответ

0

Вы можете принять участие в первой части проекта this о создании SSLSocketFactory. И как только вы взломать вашу логику, сделать его по умолчанию, как показано ниже:

HttpsURLConnection.setDefaultSSLSocketFactory(mySslSocketFactory);