Получение контекста SSL для HttpsURLConnection из X509Certificate - PullRequest
0 голосов
/ 27 июля 2010

Я довольно новичок в сертификатах, но я должен сделать что-то вроде этого (на Java):

1) У меня в руках сертификат запрашивающего:

X509Certificate[] certs = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");

2)Мне нужно запросить другой URL с этим сертификатом (возможно ли это вообще?), Например:

URL url = new URL(server);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            if (connection instanceof HttpsURLConnection) {
                ((HttpsURLConnection) connection).setSSLSocketFactory(???);
            }

Мой вопрос: как связать сертификаты из 1) с запросом из 2)?

веселит.

1 Ответ

2 голосов
/ 28 июля 2010

Вы не сможете сделать это.Чтобы установить аутентифицированное соединение SSL, вам нужны как открытые, так и частные компоненты сертификата.Было бы дырой в безопасности сделать что-то вроде того, что вы предлагаете, позволяя серверу маскироваться под сущность, которой он не является.

...