我刚刚研究了如何在我的服务器上安装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客户端,它仍然有效。当然应该抛出一个错误,说没有证书不应该吗?我做错了什么?