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; } }
相关推荐
CA证书到期了怎么续费? 证书使用说明 证书提交了审核大概多久生效? 几种CA证书的区别?商业版和免费版的区别
运行后即可解决https证书无效
首先找后台要一个证书(SSL证书,一般你跟后台说要弄https,然后让他给你个证书,他就知道了),我们需要的是.cer的证书。但是后台可能给我们的是.crt的证书。我们需要转换一下:打开终端 -> cd到.crt证书路径 -> ...
解决linux下访问https站点问题:证书无效.docx
三步解决fiddler升级后https无法通过证书验证问题
docker部署rancher证书过期问题解决方案,网上有挺多解决方案,基本都是一部分一部分的,不连续
证书 为vite的https dev服务提供证书。
https根证书替换文件,如遇到wget https://xxx.com/xxx等证书过期问题,但实际ssl证书未过期,很可能是ssl供应商的根证书过期,需要替换一下
为了尽可能避免安全问题,公司的很多系统服务都逐步https化,虽然开始过程会遇到各种问题,但趋势不改。最完美的https应用是能实现双向认证,客户端用私钥签名用服务端公钥加密,服务端用私钥签名客户端都公钥加密,...
java发送https请求,解决了数组证书的问题,所依赖的jar都有
URL url = new URL( "https://localhost:8443"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod( "POST"); connection.setDoOutput(true); ...
解决fiddler证书问题的插件,可以识别https.............................
这个是IIS证书错误的解决方法, 本人要么不发,要发就发精品。 绝对可行,物有所值。
解决”无法建立到信任根颁发机构的证书链",则导入相关证书。
这几天网站访问出现第一次打开网站特别慢,打开以后页面打开速度正常的问题,经过研究发现是HTTPS证书验证超时的问题,证书商的验证URL无法访问不知道是线路问题还是被墙了。 请教了几位大神如何解决HTTPS证书验证...
关于Apache 挂载安全证书教程 https 403问题解决 这是个很大的坑! 关于403问题点链接跳转 网上的教程基本上都没有具体详细写,研究了一下午 第一次写博客各位大佬请勿喷! 首先我们需要到获取证书,获取证书的方法...
windows服务器,PHPStudy(小皮)服务环境下,ssl证书批量替换工具,不用一个一个的去更新替换
调用一个需要双向认证接口碰到的问题,现分享给大家 文章主要描述怎么样生成机构颁发的证书根据证书生成jks文件 另外有意义的参考文章如下,主要为java程序带证书调用接口 ...
Flutter的Https证书固定 该项目基于 任何帮助表示赞赏! 评论,建议,问题,公关! 入门 在flutter或dart项目中添加依赖项: dependencies : ... http_certificate_pinning : 1.0.4 获取证书指纹 要获取SHA256...