如何在java中实现主机名验证,安全供应商是bouncyCastle?

如何在java中实现主机名验证,安全供应商是bouncyCastle?,java,openssl,bouncycastle,Java,Openssl,Bouncycastle,我已将服务器证书存储在PKCS#12密钥库中。我在这里面使用证书来检查主机名验证。 我传递了不正确的主机名,以根据服务器证书进行验证,以防客户端和服务器之间的握手失败。然而,如果主机名不对,握手是成功的。 另外,通过j2se oe ibm作为安全供应商,主机名验证是成功的。 我已将证书的通信名称指定为“localhost”。此外,主题替代名称被指定为DNS name=localhost 最终HostNameVerifier HostNameVerifier=新的DefaultHostNameVe

我已将服务器证书存储在PKCS#12密钥库中。我在这里面使用证书来检查主机名验证。 我传递了不正确的主机名,以根据服务器证书进行验证,以防客户端和服务器之间的握手失败。然而,如果主机名不对,握手是成功的。 另外,通过j2se oe ibm作为安全供应商,主机名验证是成功的。 我已将证书的通信名称指定为“localhost”。此外,主题替代名称被指定为DNS name=localhost

最终HostNameVerifier HostNameVerifier=新的DefaultHostNameVerifier(); setHostNameVerifier(hostNameVerifier,servercert.getCertificateList()[0],“RSA1024ca3”)

setHostNameVerifier仅加载证书,应为主机名

之后,我尝试发起一次握手,但由于我指定了预期的“主机名”:为RSA1024ca3,但证书的主机名为“localhost”,因此握手失败