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证书问题”,这可能导致浏览器显示警告,提示证书无效或不受信任。本教程将详细讲解如何识别和解决这类问题。 首先,了解HTTPS证书的原理至关重要。HTTPS证书是由权威的证书颁发...
本文将围绕iOS适配HTTPS证书问题进行详细的讲解,以AFNetworking 3.0框架为例。 1. **准备证书** 在进行HTTPS适配前,你需要从服务器后台获取一个SSL证书。通常,你可以告诉后端开发者你需要一个用于HTTPS的证书,...
解决 Linux 下访问 HTTPS 站点问题:证书无效 在 Linux 系统中访问 HTTPS 站点时,可能会遇到证书无效的问题,导致无法访问网站。这是因为 Linux 系统中没有信任该网站的证书颁发机构(Certificate Authority,CA)...
配置Jetty9服务器使用HTTPS证书的过程涉及多个步骤,包括申请证书、转换证书格式、以及配置Jetty服务器本身。以下详细描述这些步骤。 首先,申请证书部分通常需要借助第三方服务商,如阿里云、腾讯云等,这些服务商...
### Java 发送 HTTPS 请求时遇到证书问题解析 在进行网络通信的过程中,HTTPS 协议由于其安全性被广泛应用。本文将围绕“Java 发送 HTTPS 请求证书问题”这一主题展开讨论,通过对给定文件中的代码示例及操作步骤...
HTTPS证书是互联网安全通信的重要组成部分,它通过加密技术保护数据传输,确保用户与服务器之间的通信不被第三方窃取或篡改。在PostMan这样的API测试工具中,导入HTTPS证书是进行安全接口测试的关键步骤。 PostMan...
为了绕过HTTPS证书校验,我们需要自定义`SSLContext`和`TrustManager`。`SSLContext`是SSL/TLS安全套接层的核心,它负责管理和初始化SSL会话。`TrustManager`是负责验证服务器证书的接口。在默认情况下,`httpclient...
本资源提供的是在Windows环境下使用openssl和keytool这两个工具来生成HTTPS证书的详细教程。下面将详细介绍这两个工具以及如何使用它们生成证书。 1. **openssl** OpenSSL是一款开源的SSL/TLS库,它包含了一系列...
本篇文章将详细阐述如何为Tomcat配置HTTPS证书,确保你的Web应用程序能够安全地与用户进行交互。 首先,我们需要理解HTTPS的基本原理。HTTPS是HTTP(超文本传输协议)与SSL/TLS(安全套接层/传输层安全)的结合,...
三步解决fiddler升级后https无法通过证书验证问题
在Docker环境中部署Rancher时,可能会遇到Rancher证书过期的问题,这将导致Kubernetes集群内部的通信出现异常。以下是一个详尽的解决方案,涵盖了问题的原因、异常现象以及具体的解决步骤。 **问题原因** Rancher在...
例如,描述中提到的wget命令在尝试下载资源时遇到了证书问题,这可能是因为SSL供应商的根证书已经过期,需要更新为新的、被广泛接受的根证书。 标签“https”进一步强调了这个问题与安全的HTTP超文本传输协议...
### Kettle中调用RESTful接口时的SSL信任证书问题详解 #### 一、背景介绍 Kettle(也称为Pentaho Data Integration, PDI)是一款开源的数据集成工具,广泛应用于数据清洗、转换以及加载(ETL)等场景。在进行ETL...
生成本地泛域名HTTPS证书主要是为了在开发和测试环境中模拟真实环境,方便开发者进行网站的安全配置和调试工作。 一、什么是泛域名证书 泛域名证书是一种特殊的SSL证书,它允许在一个证书中包含一个主域名及其所有...
然而,有时用户可能会遇到IE7或IE8浏览器显示“https证书错误”的问题。本文将详细介绍这个问题的原因以及如何解决。 **一、证书错误的原因** 1. **证书过期**:SSL证书都有有效期,超过这个期限,浏览器会认为...
Windows XP系统中的SSL证书问题可能导致用户无法正常访问使用SSL加密的网站,比如银行、电子邮件服务等。这通常是因为操作系统无法验证网站的数字证书,或者是系统根证书库不完整或过时。 当Windows XP遇到SSL证书...
描述中提供的链接指向了一篇博客文章,尽管具体内容未给出,但通常会涉及HTTPS证书的工作原理、安装过程、重要性以及可能遇到的问题。在一般情况下,一篇关于HTTPS证书的文章可能会涵盖以下几个知识点: 1. **HTTPS...
- 在生成证书的过程中,填写的各种信息需保持一致性和准确性,以避免出现证书不匹配等问题。 - 为了提高安全性,建议定期更新证书和私钥。 - 如果使用的是自签名证书,则可能需要手动添加信任根证书的操作,以避免...