公众平台调整SSL安全策略,开发者升级的方法

时间:2022-03-07 13:27:21

公众平台调整SSL安全策略,请开发者注意升级

近一段时间HTTPS加密协议SSL曝出高危漏洞,可能导致网络中传输的数据被黑客监听,对用户信息、网络账号密码等安全构成威胁。为保证用户信息以及通信安全,微信公众平台将关闭掉SSLv2、SSLv3版本支持,不再支持部分使用SSLv2、 SSLv3或更低版本的客户端调用。请仍在使用这些版本的开发者于11月30日前尽快修复升级。

注意:通过微信开放平台(open.weixin.qq.com)进行移动应用和网页应用开发的开发者也同样需要修复升级。

建议开发者使用如下方法进行修复:
OpenSSL(http://www.openssl.org)可使用SSL_CTX *SSL_CTX_new(const SSL_METHOD *method)函数设置SSL客户端请求方法,使用TLSv1_client_method或更高版本。

示例1(php):
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);

示例2(C#):
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12

使用举例
在生成自定义菜单时,使用了一个https_request函数,这个函数需要原来是这样的
/*
方倍工作室 http://www.cnblogs.com/txw1958/
CopyRight 2014 All Rights Reserved
*/ function https_request($url, $data = null)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
现在要加入ssl的版本控制
/*
方倍工作室 http://www.cnblogs.com/txw1958/
CopyRight 2014 All Rights Reserved
*/ function https_request($url, $data = null)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}