В настоящее время я тестирую воды SSL и новичок в материалах SSL. В рамках моих исследований я столкнулся с двумя различными реализациями SSL в пространстве Java.Какую версию SSL я использую?
Прежде всего, позвольте мне изложить мое требование, которое очень просто, мне просто нужен процесс отправки данных по URL-адресу с помощью https.
Среди двух решений первая из них - это чистая реализация Java (с использованием только основных классов Java), а другая использует HTTP-клиент Apache, чтобы сделать это http.
Первоначально, в рамках моего тестирования, я получил бы позорное исключение «неспособное найти правильный путь сертификации к запрашиваемой цели», и это я понял, когда сертификат (полученный с сервера) не является частью Хранилище ключей Java. Как только я добавлю сертификат в хранилище Java Key, приложение прекрасно работает в обоих случаях. Однако в моем использовании HTTPClient я заметил использование SSLSocketFactory.
Когда я тестировал HttpClient со следующим кодом,
HttpClient httpClient = new HttpClient();
PostMethod postMethod = new PostMethod(target);
postMethod.setQueryString("someQueryString");
try {
httpClient.executeMethod(postMethod);
System.out.println("Response code: " + postMethod.getStatusLine());
BufferedReader in = new BufferedReader (new InputStreamReader(postMethod.getResponseBodyAsStream()));
String temp;
while ((temp = in.readLine()) != null){
response += temp + "\n";
}
temp = null;
in.close();
System.out.println("Server response:\n'" + response + "'");
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
postMethod.releaseConnection();
}
она работала хорошо, поэтому я не уверен, что использование SSLSocketFactory реализаций? Первоначально я думал, что это полезно, когда мы хотим автоматизировать добавление сертификата в хранилище ключей. Правильно ли я в этом анализе?
Если мой анализ верен, какая реализация лучше?
- Лучше всего вручную установить сертификат? Каковы недостатки такого подхода? и истечет срок действия сертификата? Если это произойдет, мне нужно будет снова установить новый сертификат?
- Или мне нужно автоматизировать всю функциональность добавления хранилища ключей с помощью SSLSocketFactory?
Ваши данные были бы весьма полезными. Спасибо.
hmm, насколько я знаю, мне не нужна настройка SSL. Когда я попытался использовать HTTPClient из коробки, единственной ошибкой, которую я получил, было «не удалось найти допустимый путь сертификации для запрошенной цели», который я разрешил, сделав сертификат сервера частью хранилища Java-ключей. Так будет ли эта реализация наилучшим вариантом для меня? – Seagull