`
流浪鱼
  • 浏览: 1692315 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

https证书问题

    博客分类:
  • java
 
阅读更多

https用于绕过证书不对情况

import java.net.MalformedURLException;
import java.net.URL;
import java.security.cert.Certificate;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLPeerUnverifiedException;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;

import com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl;

import sun.net.www.protocol.https.Handler;

public class TestHqm {
	
	
	
	public static void main(String[] args) throws Exception {
		String remoteURL = "https://member.test.com/efg/abc/receiveOrder.do" ;
		SSLSocketFactoryImpl  socketFactoryImp = null; 
		SSLSocketFactory  ssf= BZX509TrustManager.getSSFactory();  
		URL theURL = new URL(null, remoteURL, new Handler());
		HttpsURLConnection connection =  (HttpsURLConnection) theURL.openConnection();
		connection.setSSLSocketFactory(ssf);
		
		//System.out.println(socketFactoryImp);
		System.out.println("=================================================");
		//HostnameVerifier hostNamever = connection.getDefaultHostnameVerifier();
		//connection.setHostnameVerifier(new MyHostnameVerifier());
		
		//System.out.println(connection.getCipherSuite());
		
		connection.setDoInput(true);
		connection.setDoOutput(true);
		connection.setUseCaches(false);
		connection.setDefaultUseCaches(false);
		
		connection.setRequestMethod("POST");
		
		connection.connect();
		System.out.println("111");
	}
	
	
	
	private static class MyHostnameVerifier implements HostnameVerifier {
		public boolean verify(String hostname, SSLSession session) {
			
			try {
				Certificate[] certs = session.getPeerCertificates();
				for (Certificate cer : certs) {
					System.out.println(cer.toString());
				}
			} catch (SSLPeerUnverifiedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			//return hostname.equals(session.getPeerHost());
			return true;
		}
	}
}

 

import java.security.KeyManagementException;  
import java.security.NoSuchAlgorithmException;  
import java.security.NoSuchProviderException;  
import java.security.cert.CertificateException;  
import java.security.cert.X509Certificate;  
  
import javax.net.ssl.SSLContext;  
import javax.net.ssl.SSLSocketFactory;  
import javax.net.ssl.TrustManager;  
import javax.net.ssl.X509TrustManager;  
public class BZX509TrustManager   implements X509TrustManager {  
  
    public BZX509TrustManager(){}  
    @Override  
    public void checkClientTrusted(X509Certificate[] arg0, String arg1)  
            throws CertificateException {  
        // TODO Auto-generated method stub  
    	System.out.println("checkClientTrusted");
          
    }  
  
    @Override  
    public void checkServerTrusted(X509Certificate[] arg0, String arg1)  
            throws CertificateException {  
        System.out.println(arg0[0]);
          
    }  
  
    @Override  
    public X509Certificate[] getAcceptedIssuers() {  
        // TODO Auto-generated method stub  
        return null;  
    }  
      
    public static SSLSocketFactory getSSFactory() throws NoSuchAlgorithmException, NoSuchProviderException, KeyManagementException{  
        TrustManager[] tm = { new BZX509TrustManager()};  
        SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");  
       
        sslContext.init(null, tm, new java.security.SecureRandom());  
        SSLSocketFactory ssf = sslContext.getSocketFactory();  
       
        return  ssf;  
    }  
}  

 

 

 

 

 

分享到:
评论

相关推荐

    解决https证书问题.zip

    然而,有时我们可能会遇到“https证书问题”,这可能导致浏览器显示警告,提示证书无效或不受信任。本教程将详细讲解如何识别和解决这类问题。 首先,了解HTTPS证书的原理至关重要。HTTPS证书是由权威的证书颁发...

    iOS适配https证书问题(AFNetworking3.0为例)

    本文将围绕iOS适配HTTPS证书问题进行详细的讲解,以AFNetworking 3.0框架为例。 1. **准备证书** 在进行HTTPS适配前,你需要从服务器后台获取一个SSL证书。通常,你可以告诉后端开发者你需要一个用于HTTPS的证书,...

    解决linux下访问https站点问题:证书无效.docx

    解决 Linux 下访问 HTTPS 站点问题:证书无效 在 Linux 系统中访问 HTTPS 站点时,可能会遇到证书无效的问题,导致无法访问网站。这是因为 Linux 系统中没有信任该网站的证书颁发机构(Certificate Authority,CA)...

    Jetty9 配置使用HTTPS证书

    配置Jetty9服务器使用HTTPS证书的过程涉及多个步骤,包括申请证书、转换证书格式、以及配置Jetty服务器本身。以下详细描述这些步骤。 首先,申请证书部分通常需要借助第三方服务商,如阿里云、腾讯云等,这些服务商...

    Java发https请求证书问题

    ### Java 发送 HTTPS 请求时遇到证书问题解析 在进行网络通信的过程中,HTTPS 协议由于其安全性被广泛应用。本文将围绕“Java 发送 HTTPS 请求证书问题”这一主题展开讨论,通过对给定文件中的代码示例及操作步骤...

    Https证书(PostMan工具可以导入)

    HTTPS证书是互联网安全通信的重要组成部分,它通过加密技术保护数据传输,确保用户与服务器之间的通信不被第三方窃取或篡改。在PostMan这样的API测试工具中,导入HTTPS证书是进行安全接口测试的关键步骤。 PostMan...

    httpclient 绕开HTTPS证书校验

    为了绕过HTTPS证书校验,我们需要自定义`SSLContext`和`TrustManager`。`SSLContext`是SSL/TLS安全套接层的核心,它负责管理和初始化SSL会话。`TrustManager`是负责验证服务器证书的接口。在默认情况下,`httpclient...

    https证书生成工具(openssl和jre(自带keytool)) for windows.rar

    本资源提供的是在Windows环境下使用openssl和keytool这两个工具来生成HTTPS证书的详细教程。下面将详细介绍这两个工具以及如何使用它们生成证书。 1. **openssl** OpenSSL是一款开源的SSL/TLS库,它包含了一系列...

    tomcat https 证书安装

    本篇文章将详细阐述如何为Tomcat配置HTTPS证书,确保你的Web应用程序能够安全地与用户进行交互。 首先,我们需要理解HTTPS的基本原理。HTTPS是HTTP(超文本传输协议)与SSL/TLS(安全套接层/传输层安全)的结合,...

    三步解决fiddler升级后https无法通过证书验证问题

    三步解决fiddler升级后https无法通过证书验证问题

    docker部署rancher证书过期问题解决方案

    在Docker环境中部署Rancher时,可能会遇到Rancher证书过期的问题,这将导致Kubernetes集群内部的通信出现异常。以下是一个详尽的解决方案,涵盖了问题的原因、异常现象以及具体的解决步骤。 **问题原因** Rancher在...

    https根证书替换文件

    例如,描述中提到的wget命令在尝试下载资源时遇到了证书问题,这可能是因为SSL供应商的根证书已经过期,需要更新为新的、被广泛接受的根证书。 标签“https”进一步强调了这个问题与安全的HTTP超文本传输协议...

    kettle中调用restful接口时的SSL信任证书问题

    ### Kettle中调用RESTful接口时的SSL信任证书问题详解 #### 一、背景介绍 Kettle(也称为Pentaho Data Integration, PDI)是一款开源的数据集成工具,广泛应用于数据清洗、转换以及加载(ETL)等场景。在进行ETL...

    生成本地泛域名https证书

    生成本地泛域名HTTPS证书主要是为了在开发和测试环境中模拟真实环境,方便开发者进行网站的安全配置和调试工作。 一、什么是泛域名证书 泛域名证书是一种特殊的SSL证书,它允许在一个证书中包含一个主域名及其所有...

    IE7 IE8使用https证书错误问题解决方法

    然而,有时用户可能会遇到IE7或IE8浏览器显示“https证书错误”的问题。本文将详细介绍这个问题的原因以及如何解决。 **一、证书错误的原因** 1. **证书过期**:SSL证书都有有效期,超过这个期限,浏览器会认为...

    解决windows xp因为ssl证书问题无法上网的补丁

    Windows XP系统中的SSL证书问题可能导致用户无法正常访问使用SSL加密的网站,比如银行、电子邮件服务等。这通常是因为操作系统无法验证网站的数字证书,或者是系统根证书库不完整或过时。 当Windows XP遇到SSL证书...

    https证书

    描述中提供的链接指向了一篇博客文章,尽管具体内容未给出,但通常会涉及HTTPS证书的工作原理、安装过程、重要性以及可能遇到的问题。在一般情况下,一篇关于HTTPS证书的文章可能会涵盖以下几个知识点: 1. **HTTPS...

    https双向证书制作详细制作步骤

    - 在生成证书的过程中,填写的各种信息需保持一致性和准确性,以避免出现证书不匹配等问题。 - 为了提高安全性,建议定期更新证书和私钥。 - 如果使用的是自签名证书,则可能需要手动添加信任根证书的操作,以避免...

Global site tag (gtag.js) - Google Analytics