import java.io.DataInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
public class TrustSSL {
private static class TrustAnyTrustManager implements X509TrustManager {
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException {
// TODO Auto-generated method stub
}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException {
// TODO Auto-generated method stub
}
@Override
public X509Certificate[] getAcceptedIssuers() {
// TODO Auto-generated method stub
return new X509Certificate[]{};
}
}
private static class TrustAnyHostnameVerifier implements HostnameVerifier {
@Override
public boolean verify(String arg0, SSLSession arg1) {
// TODO Auto-generated method stub
return true;
}
}
public static void main(String args[]) {
DataInputStream in = null;
OutputStream out = null;
byte[] buffer = new byte[4096];
String str_return = "";
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());
URL console = new URL("https://sd.12530.com/user/querysinger1.do?singerletter=all&spid=all");
HttpsURLConnection conn = (HttpsURLConnection)console.openConnection();
conn.setSSLSocketFactory(sc.getSocketFactory());
conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
conn.connect();
//out = conn.getOutputStream();
in = new DataInputStream(conn.getInputStream());
while(in.read(buffer) > 0) {
str_return = str_return + new String(buffer, "GBK");
}
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (out != null) {
try {
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
System.out.println(str_return);
}
}
分享到:
相关推荐
在Java编程中,访问HTTPS(安全超文本传输协议)接口通常涉及到处理数字证书,这是为了确保数据传输的安全性。HTTPS通过使用SSL/TLS协议来加密通信,而证书是该协议的一部分,用于验证服务器的身份。本篇文章将深入...
当你访问HTTPS站点时,Java默认的TrustStore可能不包含特定服务器的证书,因此需要自定义SSL上下文。首先,你需要将服务器的证书导入到一个信任库文件(如JKS或PKCS12格式),然后创建一个`SSLContext`对象,并设置...
java信任SSL证书的工具类 忽略HTTPS请求的SSL证书,必须在openConnection之前调用
在本实例中,我们使用 Java 的 SSL SOCKET 编程来访问支付宝的 HTTPS 网站。 十四、JAVA SSL SOCKET 双向认证 JAVA SSL SOCKET 双向认证是指客户端和服务器双方都需要验证对方的身份。这种方式可以提供更高的安全...
描述了java程序代码去访问MQ的SSL加密的通道。如何配置JKS,如何配置MQ服务器的SSL秘钥库,如何配置证书制作证书和秘钥库。主要是如何编写java代码去访问SSL通道并取到数据。
SSL通过使用加密技术来保护数据,防止未经授权的访问和篡改。在Java中,我们可以使用JSSE(Java Secure Socket Extension)库来实现SSL连接。双向认证,也称为客户端和服务器端的相互认证,是一种更高级的安全策略,...
当访问HTTPS网址时,Java会检查服务器的SSL证书。如果证书不在受信任的证书颁发机构列表中,或者证书未正确配置,Java会抛出异常。为了解决这个问题,我们需要自定义一个`TrustManager`,允许所有证书,或者导入...
在Java编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种用于在互联网上安全传输数据的协议,它基于HTTP,但提供了额外的安全性层,通过SSL/TLS(Secure Sockets Layer/Transport Layer Security)来加密...
net去调用java端写的https webservices 1)浏览器导入服务器cer证书 2)c#客户端引入证书
当用户访问HTTPS网站时,浏览器会检查服务器的数字证书是否由可信任的证书颁发机构签发,以确保连接的安全性。 在Java中实现SSL和HTTPS,主要涉及以下几个关键步骤: 1. **配置SSL上下文(SSLContext)**:首先...
SSL跳过证书 java ctx.init(null, new TrustManager[] { tm }, new java.security.SecureRandom()); // SSLConnectionSocketFactory ssf = new SSLConnectionSocketFactory( // ctx, NoopHostnameVerifier.INSTANCE)...
java的get和post请求,获取json的工具类,https时会存在ssl校验的问题,工具会自动去除ssl校验。
IE浏览器在访问HTTPS站点时,会验证服务器的SSL证书,包括证书的颁发机构、有效期、公钥以及与域名的匹配性。如果证书无效或不被信任,浏览器会显示警告信息,用户可以选择继续访问或中断连接。 SSL介绍 SSL协议是...
通过以上步骤,你可以在Tomcat上启用SSL,为你的Java Web应用提供安全的HTTPS访问。在实际操作中,还需要考虑与应用的其他安全策略的协调,比如防火墙规则、Web应用防火墙配置等,以确保全方位的安全保障。 在提供...
SpringBoot 作为一个流行的 Java 框架, 提供了许多便捷的配置方式来实现 HTTPS 访问。HTTPS 是一种基于 SSL/TLS 加密的协议,用于确保数据在网络传输过程中的安全性。下面将详细介绍如何在 SpringBoot 中配置 SSL ...
Java客户端访问HTTPS服务器涉及到的是网络安全通信中的SSL/TLS协议,主要目的是确保数据传输的安全性,防止数据被篡改或窃取。在这个过程中,Java的JSSE(Java Secure Socket Extension)框架提供了实现HTTPS通信的...
- Java通过`java.net.URL`,`java.net.HttpURLConnection`和`javax.net.ssl.SSLContext`等类提供了对HTTPS的支持。 - `HttpURLConnection`是HTTP/HTTPS请求的基础,可以通过设置`setUrl(url)`和`setRequestMethod...
当用户访问HTTPS网站时,浏览器会与服务器交换SSL证书,验证其有效性,然后使用公钥加密传输数据。 在配置HTTPS时,主要步骤包括: 1. **申请SSL证书**:联系CA,提交必要的域名、组织和个人信息,并经过验证。 2....