`
fly_hyp
  • 浏览: 305628 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Java中 如何跳过Https的证书检测

 
阅读更多
import java.net.URL;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

public class SSLTest {

    public static void main(String [] args) throws Exception {
        // configure the SSLContext with a TrustManager
        SSLContext ctx = SSLContext.getInstance("TLS");
        ctx.init(new KeyManager[0], new TrustManager[] {new DefaultTrustManager()}, new SecureRandom());
        SSLContext.setDefault(ctx);

        URL url = new URL("https://mms.nw.ru");
        HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
        conn.setHostnameVerifier(new HostnameVerifier() {
            @Override
            public boolean verify(String arg0, SSLSession arg1) {
                return true;
            }
        });
        System.out.println(conn.getResponseCode());
        conn.disconnect();
    }

    private static class DefaultTrustManager implements X509TrustManager {

        @Override
        public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}

        @Override
        public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}

        @Override
        public X509Certificate[] getAcceptedIssuers() {
            return null;
        }
    }
}

 

http://stackoverflow.com/questions/1828775/how-to-handle-invalid-ssl-certificates-with-apache-httpclient

分享到:
评论

相关推荐

    Java如何跳过https的ssl证书验证详解

    Java跳过HTTPS的SSL证书验证详解 本文主要介绍了Java跳过HTTPS的SSL证书验证的解决思路,并通过示例代码进行了详细的介绍,对大家的学习或者工作具有一定的参考学习价值。 一、HTTPS和HTTP的区别 HTTPS和HTTP的...

    SSL跳过证书 java

    SSL跳过证书 java ctx.init(null, new TrustManager[] { tm }, new java.security.SecureRandom()); // SSLConnectionSocketFactory ssf = new SSLConnectionSocketFactory( // ctx, NoopHostnameVerifier.INSTANCE)...

    Java发https请求证书问题

    本文将围绕“Java 发送 HTTPS 请求证书问题”这一主题展开讨论,通过对给定文件中的代码示例及操作步骤进行分析,帮助读者理解如何在 Java 中正确配置并发送 HTTPS 请求。 #### 标题:Java 发送 HTTPS 请求证书问题...

    java 发送https 请求 证书

    当你需要在Java程序中发送HTTPS请求时,可能会遇到证书相关的问题,特别是当服务器使用自签名证书或者非标准CA签发的证书时。本文将详细讲解如何在Java中处理这类问题,以及如何使用httpUtils工具进行HTTPS请求。 ...

    用java访问https网络,无需证书

    使用java写的访问https网络协议的网址,绕过了证书的验证

    JAVA ldap AD 域 免证书 查询 修改 删除 新增 启用 禁用 修改密码

    在这篇文章中,我们将探讨使用 JAVA 实现 LDAP 的 AD 域免证书查询、修改、删除、新增、启用、禁用和修改密码的操作。 首先,让我们了解什么是 LDAP 和 AD 域。LDAP(Lightweight Directory Access Protocol)是一...

    java获取数字证书信息

    在本篇文章中,我们将深入探讨如何使用Java来获取数字证书的信息,包括使用TOMCAT和JDK搭建SSL服务的过程、如何用OpenSSL签发证书以及如何支持第三方CA等内容。 #### 一、使用TOMCAT和JDK搭建SSL服务 ##### 1. ...

    HttpClient配置SSL绕过https证书实例

    HttpClient配置SSL绕过https证书实例,附件中包含所需httpclient组件jar库。博客地址:http://blog.csdn.net/irokay/article/details/78801307。

    java 调用https webservice实例及axis包

    在Java开发中,调用HTTPS发布的Web Service接口是一项常见的任务,尤其在企业级应用中,HTTPS提供了安全的数据传输。本文将详细介绍如何使用Apache Axis库来实现这一功能,并提供相关步骤和注意事项。 首先,理解...

    java在IE中下载证书并安装(根证书)

    Java在IE中下载并安装根证书是一个常见的网络安全配置步骤,主要应用于验证服务器的身份,确保数据传输的安全性。在这个过程中,根证书(Root Agency.cer)是信任链的基础,它代表了一个权威的证书颁发机构(CA),...

    java生成X509证书jar包

    在Java开发中,生成X509证书是一个常见的任务,特别是在构建安全的HTTPS网络服务时。X509证书是公钥基础设施(PKI)的一部分,用于验证服务器身份,确保数据传输的安全性。BouncyCastle库是一个强大的Java加密库,...

    JAVA 用代码生成数字证书源码

    在Java编程环境中,生成数字证书是一项关键的安全技术,主要用于数据加密、身份验证和签名等应用场景。数字证书通常包含了公钥和私钥对,以及证书持有者的相关信息,这些信息经过认证机构(CA)的签名,确保了证书的...

    HttpClient4.5 实现https忽略SSL证书验证

    使用HttpClient4.5实现https请求忽略SSL证书验证工具类

    Java实现的Https请求工具类

    在Java编程中,HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP协议的安全通信协议,用于在客户端和服务器之间建立安全的、加密的数据传输通道。它主要用于保护用户数据,防止中间人攻击和数据篡改。本...

    java文件字符编码检测和转换

    附件中:FileEncodeDetector.java 此文件可以检测指定文件的编码格式 public static String getFileEncode(File file) {...} 附件中:FileCharsetConverter.java 此文件可以实现两个编码的相互转换 ...

    图像质量检测算法(噪声检测、条纹检测、模糊检测、偏色检测、亮度检测)(Java)

    图像质量检测算法(噪声检测、条纹检测、模糊检测、偏色检测、亮度检测)(Java)

    socket心跳测试(java)

    通过以上讲解,我们了解了Java中使用Socket进行心跳检测以实现长连接的基本原理和实现方式。实际开发中,还需要考虑异常处理、网络延迟等因素,以确保系统的健壮性和稳定性。心跳检测是网络通信中不可或缺的一部分,...

    java 证书的加密与解密

    Java证书的加密与解密是Java安全领域中的一个重要概念,主要涉及到数字证书、公钥加密、私钥解密以及SSL/TLS协议等知识点。在这个主题中,我们将深入探讨这些概念及其在实际应用中的使用。 首先,Java证书是用于...

    java 国密算法实现包含SM2 SM3 SM4和数字签名、数字证书的验证

    下面将详细介绍这些算法以及它们在Java中的实现,以及如何进行数字签名和数字证书的验证。 1. **SM2算法**:SM2是一种基于椭圆曲线密码学(ECC)的公钥加密算法,用于非对称加密。它提供了密钥交换、签名和验证的...

    使用httpclient无需证书调用https的示例(java调用https)

    总的来说,这个示例展示了如何在Java中使用HttpClient调用HTTPS服务,同时跳过SSL证书验证。然而,这样做存在安全风险,因为任何中间人攻击者都可以拦截并篡改通信。在生产环境中,你应该始终使用受信任的证书并启用...

Global site tag (gtag.js) - Google Analytics