java - Apache HttpClient 3 使用哪个 SSL 版本,可以更改吗?

标签 java ssl apache-commons-httpclient

如果我像这样尝试使用 Apache Http 客户端 3.1 连接到 https url..

HttpClient httpClient = new HttpClient()
HttpMethod method = new GetMethod("https://federation/galaxy-class/enterprise/getSheildFrequencies")
int responseCode = httpClient.executeMethod(method)

它在握手中使用哪个 SSL 版本?

如果它是 SSLv2,有什么办法告诉它使用更高版本或 TLS?

最佳答案

至少 Apache HTTP Client 4 使用底层 JRE 进行 SSL 连接。所以这是配置 JRE 的问题(我想默认情况下会启用更高版本)。

在 SSL 握手中,客户端默认向服务器提供它支持的最高版本。然后就看服务器支持多高的版本了。

尝试将“javax.net.debug”系统属性设置为值“ssl”,这样您就可以看到同时显示版本的 SSL 握手。

关于java - Apache HttpClient 3 使用哪个 SSL 版本,可以更改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34687342/

相关文章:

spring - spring-integration 中具有基本身份验证的出站网关

python使ssl崩溃

google-chrome - SSLKEYLOGFILE 环境变量不填充任何文本文件

http - 查找在触发 IE6 "non-secure items notice"的安全页面上发送的非安全 http 请求

java - Apache HttpClient : how to send headers along with CONNECT request

java - 无法构建具有从 jndi 查找数据源的 Spring Boot 项目

java - Mybatis 在 spring 中使用 xml 配置返回大结果

java - 如何从 ZIP 存档中读取文件

java - 并行流中 I/O 代码的 SecurityException

java - 如何将 org.apache.http.legacy 添加到 sbt 中