我有以下几行代码来设置SSL连接:
HttpsURLConnection con = (HttpsURLConnection) new URL(url).openConnection();我使用给定的连接发送消息并检索响应。现在我得到了一个问题:在这个连接中使用了哪种安全技术?例如,我想知道连接是否是TLS1.2。如何使用Java检索此文件?
发布于 2018-03-05 12:16:06
HttpsURLConnection将使用客户端和服务器之间协商的任何方案。可以获得有关所使用的密码套件以及客户端和服务器证书的一些信息,但是协议/版本不会被公共API直接公开。
检索实际使用的协议是很棘手的。
SSLEngineImpl的类,它有一个名为protocolVersion的私有字段,该字段给出了连接正在使用的协议和版本。不幸的是,“引擎”实例被深埋,很难在运行时访问它。SSLSocketFactory,则可以在会话建立之后从SSLSession对象获得使用的协议;请参阅获取HttpsURLConnection - Java中使用的SSL版本。Oracle参考资料:
https://stackoverflow.com/questions/49109304
复制相似问题