Java 从TLS获取证书链以使用OCSP
我想使用OCSP检查TLS握手期间来自服务器的证书 我使用Bouncy Castle作为OCSP实现的提供者,BC验证方法通常希望X509Certificate作为参数 所以,;如何在Java端跟踪并获取传入的证书链并获取它 感谢您的帮助。您可以使用并将结果强制转换为X509CertificateJava 从TLS获取证书链以使用OCSP,java,ssl,ssl-certificate,x509certificate,ocsp,Java,Ssl,Ssl Certificate,X509certificate,Ocsp,我想使用OCSP检查TLS握手期间来自服务器的证书 我使用Bouncy Castle作为OCSP实现的提供者,BC验证方法通常希望X509Certificate作为参数 所以,;如何在Java端跟踪并获取传入的证书链并获取它 感谢您的帮助。您可以使用并将结果强制转换为X509Certificate HttpsURLConnection connection = ... Certificate chain[] = connection.getServerCertificates(); X509Ce
HttpsURLConnection connection = ...
Certificate chain[] = connection.getServerCertificates();
X509Certificate cert = (X509Certificate)chain[0];
谢谢你的回答。但是这个类需要主机名才能通过url打开连接。但是我试图用IP地址创建TLS,我得到一个错误,如;“javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:找不到与IP地址47.168.116.8匹配的主题替代名称”是否可以使用IP地址打开连接?HTTPSUrlConnection可以使用IP或主机名。在您的情况下,错误是因为要打开到主机的SSL连接,证书必须在SubjectAlternativesNames中显式包含服务器的IP。如果未包含IP或主机名与证书中包含的主机名不匹配,Java客户端将拒绝连接。此错误与原始问题无关