Java 在Apache HttpClient中信任特定主机的单一证书

Java 在Apache HttpClient中信任特定主机的单一证书,java,https,tls1.2,apache-httpclient-4.x,Java,Https,Tls1.2,Apache Httpclient 4.x,我试图找到如何在ApacheHttpClient java中只允许特定主机受信任。 我通过https使用ApacheHttpClient连接到服务器。服务器具有自签名证书,因此我不断收到以下错误: javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到

我试图找到如何在ApacheHttpClient java中只允许特定主机受信任。 我通过https使用ApacheHttpClient连接到服务器。服务器具有自签名证书,因此我不断收到以下错误:

javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径 阅读更多:


我知道我们可以跳过所有主机的认证验证(我们可以信任所有主机和认证),但我的问题是,我们如何才能禁用认证或仅信任我想要的单个特定主机?我需要以编程的方式完成这一切。

这是否回答了您的问题?在某种程度上,我不想使用来自服务器的自签名证书。我不想将它们加载到JVM和信任库中。我会想办法按程序来做。