如何在 Java 中获取 HTTPS 连接使用的密码?使用以下代码点击 URL 后,我需要找到使用的 TLS 版本,无论是 TLS 1.1 还是 1.2:
url = new URL(https_url);
HttpsURLConnection con = (HttpsURLConnection)url.openConnection();
Firefox 浏览器的屏幕截图如下。 任何人都可以帮助我得到这个吗? TLS Version
我试过了
SSLSocket socket = (SSLSocket) con.getSSLSocketFactory().createSocket();
String[] test = socket.getSSLParameters().getProtocols();
但这给出了为连接启用的协议(protocol)列表。在我需要服务器响应中使用的协议(protocol)的地方。
所附的屏幕截图显示了我期望阅读的内容(TLS 1.2)
最佳答案
我认为 con.getCipherSuite();
应该可以解决算法问题...
https://docs.oracle.com/javase/7/docs/api/javax/net/ssl/HttpsURLConnection.html
对于 tls 这可能是一个奇怪的解决方案,但如果您设法打开一个新的 SSL 套接字(也许您可以使用 socket.close();
关闭)
SSLSocket socket = (SSLSocket) con.getSSLSocketFactory().createSocket();
String[] test = socket.getSSLParameters().getProtocols();
在测试值中注意: 您可以获得可用的 TLS 版本,而不仅仅是一个版本。
关于java - 如何获取 HTTPS 连接使用的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46406717/