https证书校验jar包
时间: 2023-09-02 09:05:54 浏览: 34
您可以使用Java的内置SSL类来执行https证书校验,而不需要下载任何外部jar包。您可以使用以下代码来执行证书校验:
```
import javax.net.ssl.*;
import java.security.cert.X509Certificate;
public class SSLCertVerification {
public static void main(String[] args) {
try {
SSLContext sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, new TrustManager[]{new X509TrustManager() {
public void checkClientTrusted(X509Certificate[] chain, String authType) {}
public void checkServerTrusted(X509Certificate[] chain, String authType) {}
public X509Certificate[] getAcceptedIssuers() { return null; }
}}, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) { return true; }
});
// Make an https request
URL url = new URL("https://your-https-url.com");
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
in.close();
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这段代码创建了一个自己的SSLContext,并将其设置为默认的SSL socket工厂和主机名验证程序。这样,您可以忽略证书错误并继续连接,也可以编写自己的验证逻辑以验证证书。在我们的代码示例中,我们只是忽略了验证,但您可以改为在自己的验证程序中执行适当的验证逻辑。