Я только что разработал, как установить сертификат Lets Encrypt на моем сервере, поэтому мои браузеры теперь показывают, что мой сайт защищен при доступе через https://
.
Когда я пытаюсь получить доступ к конечным точкам моего сервера в клиентском приложении Java, используя следующее,
URL httpsURL = new URL(urlStringServerEndPoint);
sc = SSLContext.getInstance("TLSv1.2");
sc.init(null, null, new java.security.SecureRandom());
conn = (HttpsURLConnection) httpsURL.openConnection();
conn.setSSLSocketFactory(sc.getSocketFactory());
conn.setDoOutput(true);
conn.setRequestMethod("POST");
OutputStream os = conn.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os, "UTF-8");
osw.write(dataString);
osw.flush();
osw.close();
os.close();
conn.connect();
if(conn.getResponseCode() != 200)
throw new MyServerException();
это тоже работает.
Но - если я удаляю сертификат со своего сервера и снова запускаю клиент Java, он все равно работает. Конечно, должно появиться сообщение о том, что сертификата нет, не так ли? Что я делаю не так?