文档章节

SSL访问Https occur SSLProtocolException and Certific

北风刮的不认真了
 北风刮的不认真了
发布于 2014/11/19 22:49
字数 315
阅读 57
收藏 0
点赞 0
评论 0

最近在调用微信公众平台高级群发接口之一:

https://file.api.weixin.qq.com/cgi-bin/media/uploadvideo?access_token=ACCESS_TOKEN 时,https访问抛出异常:

javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name

异常中出现关键字:unrecognized 未被承认的name。

google之,处理办法,代码加入:

//bug fiexd for: javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name  
System.setProperty ("jsse.enableSNIExtension", "false");

再次调用该接口,抛出新的异常:

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative DNS name matching file.api.weixin.qq.com found.

继续处理,代码加入:

 URL url = new URL(requestUrl);
 httpUrlConn = (HttpsURLConnection)url.openConnection();
 httpUrlConn.setSSLSocketFactory(ssf);

 //bug fixed for: java.security.cert.CertificateException: No subject alternative DNS name matching
 httpUrlConn.setHostnameVerifier(new CustomizedHostnameVerifier());

其中CustomizedHostnameVerifier类如下:

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;


/**
 * HostnameVerifier
 * bug fixed : <http://iteches.com/archives/45015>
 * @author will_awoke
 * @version 2014-8-15
 * @see CustomizedHostnameVerifier
 * @since
 */
public class CustomizedHostnameVerifier implements HostnameVerifier
{

    @Override
    public boolean verify(String arg0, SSLSession arg1)
    {
        return true;
    }

}

原因

and then apply this class to your single SSL connection
HttpsURLConnection connection = (HttpsURLConnection) new URL("
https://url").openConnection();
connection.setHostnameVerifier(new CustomizedHostNameVerifier());
or apply to all SLL connection
HttpsURLConnection.setDefaultHostnameVerifier(new CustomizedHostnameVerifier());
However this method might pose a security risk because basically we don’t verify the hostname anymore. The server may use other website’s certificate and the program will still accept it.

简而言之:

因为微信的这个接口是未认证https不安全的,所有需要代码中需要dont verify。



本文转载自:http://blog.csdn.net/will_awoke/article/details/38587467

共有 人打赏支持
北风刮的不认真了

北风刮的不认真了

粉丝 30
博文 47
码字总数 23462
作品 1
朝阳
后端工程师
Nginx 1.11.9 发布,Bug 修复版本

Nginx 1.11.9 发布了,该版本主要是 Bug 修复,包含如下 Bug: *) Bugfix: nginx might hog CPU when using the stream module; the bug had appeared in 1.11.5. *) Bugfix: EXTERNAL authe......

红薯 ⋅ 2017/01/25 ⋅ 1

Nginx 0.8.34 发布

改进内容: ) Bugfix: nginx did not support all ciphers and digests used in client certificates. ) Bugfix: nginx cached incorrectly FastCGI responses if there was large stderr ou......

红薯 ⋅ 2010/03/04 ⋅ 0

curl 命令详解

curl 命令详解 一:curl简介及语法 curl是一个访问url的工具,可以用它构造http request报文,且可以解析服务器返回的http response,额外还支持cookie特性,可以用curl完成web浏览器的基本功...

wx5922e1cc2aa76 ⋅ 01/05 ⋅ 0

利用SSL/TLS中的SNI同一ip不同域名的F5vs配置解决方案

前言: 在搭建支持HTTPS的前端代理服务器时候,通常会遇到让人头痛的证书问题。根据HTTPS的工作原理,浏览器在访问一个HTTPS站点时,先与服务器建立SSL连接,建立连接的第一步就是请求服务器...

河北李晓东 ⋅ 2017/08/23 ⋅ 0

Nginx 1.3.2 开发版发布,还是没有 SPDY

Nginx 1.3.2 开发版发布了,下载地址: nginx-1.3.2 nginx/Windows-1.3.2 该版本改进记录: ) Change: the "single" parameter of the "keepalive" directive is now ignored. ) Change: SS......

oschina ⋅ 2012/06/27 ⋅ 5

Nginx 1.9.6 发布,高性能 Web 服务器

Nginx 1.9.6 发布,具体更新信息如下: *) Bugfix: a segmentation fault might occur in a worker process when using HTTP/2. Thanks to Piotr Sikora and Denis Andzakovic. *) Bugfix: t......

淡漠悠然 ⋅ 2015/10/28 ⋅ 23

Nginx 1.0.7 发布

Nginx 1.0.7 发布了,Nginx 1.0.x 是稳定版分支,下载地址:nginx-1.0.7 ,nginx/Windows-1.0.7 Nginx 1.0.7 包含多项新的特性以及 bug 修复,详细包括: ) Change: now if total size of all...

红薯 ⋅ 2011/10/01 ⋅ 1

Nginx 1.1.7 开发版发布

Nginx 发布了 1.1.7 开发版,下载地址: nginx-1.1.7 , nginx/Windows-1.1.7 改进记录: Changes with nginx 1.1.7 31 Oct 2011 *) Feature: support of several resolvers in the "resolver......

mark35 ⋅ 2011/10/31 ⋅ 7

Nginx 1.3.12 开发版发布

Nginx 发布最新的开发版 1.3.12,下载地址:nginx-1.3.12,nginx/Windows-1.3.12 改进记录包括: ) Feature: variables support in the "proxybind", "fastcgibind","memcachedbind", "scgib......

oschina ⋅ 2013/02/06 ⋅ 0

Nginx 1.3.12 开发版发布

Nginx 发布最新稳定版 1.3.12,下载地址: nginx-1.3.12 nginx/Windows-1.3.12 改进内容: ) Feature: variables support in the "proxybind", "fastcgibind", "memcachedbind", "scgibind",......

oschina ⋅ 2013/02/13 ⋅ 7

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部