关于微信红包API接口CA证书问题

tangjia281323 2015-01-04 10:22:31
我们在对接微信商户平台的现金红包高级接口时向
https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack
接口地址post数据后,返回NOAUTH:CA证书出错。

详细返回XML包:
<xml>
<return_code><![CDATA[FAIL]]></return_code>
<return_msg><![CDATA[CA证书出错.]]></return_msg>
<result_code><![CDATA[FAIL]]></result_code>
<err_code><![CDATA[NOAUTH]]></err_code>
<err_code_des><![CDATA[CA证书出错.]]></err_code_des>
<mch_billno><![CDATA[10017876201412311755277529]]></mch_billno>
<mch_id>10017876</mch_id>
<wxappid><![CDATA[wx83ebd841d284292b]]></wxappid>
<re_openid><![CDATA[osrd5uFQmotuVVq4lnvRh3O4x748]]></re_openid>
<total_amount>100</total_amount>
</xml>

我用的.net3.5环境对接的红包接口,已安装了apiclient_cert.p12证书,运行测试程序提示我CA证书出错,然后我把rootca.pem证书后缀改为.cer格式,双击安装,提示导入成功,运行测试程序还是返回CA证书出错。

这个问题是我的电脑安装rootca.pem证书的方式有问题还是怎么?如果是,那么正确的安装方式是什么?或者是有别的什么问题。?
...全文
44386 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rocychen 2015-09-12
  • 打赏
  • 举报
回复
在本地可以,在centos不行,有解决办法么
qq_24636065 2015-08-03
  • 打赏
  • 举报
回复
http://mulandong.allalla.com/?m=post&id=22打不开啊!!!!!
inapad 2015-07-21
  • 打赏
  • 举报
回复
新浪的报ca证书出错可能就是curl版本过低了 ,在阿里云的服务器装nginx 环境 跑没问题
inapad 2015-07-21
  • 打赏
  • 举报
回复
1、php curl版本过低 也可能导致出现ca证书出错 2、商户平台修改一下证书重新下载 3、代码就参考http://mulandong.allalla.com/?m=post&id=22,大家都推荐
li361111523 2015-05-14
  • 打赏
  • 举报
回复
http://mulandong.allalla.com/?m=post&id=22
daisyalice 2015-04-17
  • 打赏
  • 举报
回复
引用 21 楼 jiahailinjhl 的回复:
同问 微信红包和微信支付是同一个pfx文件吗? 微信红包和微信支付用的是一个pfx文件吗,还是微信红包单独一个pfx文件
  • 打赏
  • 举报
回复
微信红包和微信支付用的是一个pfx文件吗,还是微信红包单独一个pfx文件
aliang 2015-03-22
  • 打赏
  • 举报
回复
apiclient_cert.p12证书安装后是这样子吗?

S314324153 2015-03-12
  • 打赏
  • 举报
回复
各位大大,有木有C#版的
刘小D 2015-02-27
  • 打赏
  • 举报
回复
楼主,解决了没,同求解决方案,有高人请指点,CA证书错误!!!
呵呵镜 2015-02-13
  • 打赏
  • 举报
回复
我是php 版的也遇到CA证书错误 没有权限的报错,怎么解决?
我代码中增加了ca证书了啊


哪位大神帮我看看
acol 2015-02-10
  • 打赏
  • 举报
回复
找到问题了 // X509Certificate cer = new X509Certificate(cert, password);//线下发布需要添加的 将上面的改成 X509Certificate2 cer = new X509Certificate2(cert, password, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);//线上发布需要添加 希望能帮到你。
acol 2015-02-10
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/csy19871106/8437813 刚传上去的
qq_25937629 2015-02-09
  • 打赏
  • 举报
回复
本地怎么测试的?
引用 13 楼 Only_You_forver 的回复:
[quote=引用 12 楼 csy19871106 的回复:] [quote=引用 10 楼 salyfan 的回复:] 再请教一个问题,为什么在本地可以,在Centos服务器上不可以呢!
兄弟 ,解决了没,我也是本地测试正常,丢到服务器上就提示CA证书错误[/quote] 一样,本地测试ok,丢服务器上就提示ca证书出错[/quote] 本地怎么测试的?我直接用的sina的云。一直报CA证书错误啊。。。用PHP代码的。。又没QQ 加一个聊聊 :317089565
Only_You_forver 2015-02-09
  • 打赏
  • 举报
回复
引用 12 楼 csy19871106 的回复:
[quote=引用 10 楼 salyfan 的回复:] 再请教一个问题,为什么在本地可以,在Centos服务器上不可以呢!
兄弟 ,解决了没,我也是本地测试正常,丢到服务器上就提示CA证书错误[/quote] 一样,本地测试ok,丢服务器上就提示ca证书出错
acol 2015-02-09
  • 打赏
  • 举报
回复
引用 10 楼 salyfan 的回复:
再请教一个问题,为什么在本地可以,在Centos服务器上不可以呢!
兄弟 ,解决了没,我也是本地测试正常,丢到服务器上就提示CA证书错误
HO-XA 2015-02-04
  • 打赏
  • 举报
回复
一直苦于CA证书错误当中!
沙澧 2015-01-31
  • 打赏
  • 举报
回复
再请教一个问题,为什么在本地可以,在Centos服务器上不可以呢!
Light_air01 2015-01-29
  • 打赏
  • 举报
回复
public string PostPage(string posturl, string postData) { Stream outstream = null; Stream instream = null; StreamReader sr = null; HttpWebResponse response = null; HttpWebRequest request = null; Encoding encoding = Encoding.UTF8; byte[] data = encoding.GetBytes(postData); // 准备请求... try { //CerPath证书路径 string certPath = ConfigurationManager.AppSettings["certPath"].ToString(); //证书密码 string password = ConfigurationManager.AppSettings["password"].ToString(); X509Certificate2 cert = new System.Security.Cryptography.X509Certificates.X509Certificate2(certPath, password, X509KeyStorageFlags.MachineKeySet); // 设置参数 request = WebRequest.Create(posturl) as HttpWebRequest; CookieContainer cookieContainer = new CookieContainer(); request.CookieContainer = cookieContainer; request.AllowAutoRedirect = true; request.Method = "POST"; request.ContentType = "text/xml"; request.ContentLength = data.Length; request.ClientCertificates.Add(cert); outstream = request.GetRequestStream(); outstream.Write(data, 0, data.Length); outstream.Close(); //发送请求并获取相应回应数据 response = request.GetResponse() as HttpWebResponse; //直到request.GetResponse()程序才开始向目标网页发送Post请求 instream = response.GetResponseStream(); sr = new StreamReader(instream, encoding); //返回结果网页(html)代码 string content = sr.ReadToEnd(); string err = string.Empty; return content; } catch (Exception ex) { string err = ex.Message; return string.Empty; } }
Light_air01 2015-01-29
  • 打赏
  • 举报
回复
恢复7楼:2种情况一是你的商户号确实写错了,二是你的xml格式的问题
加载更多回复(7)

3,143

社区成员

发帖
与我相关
我的任务
社区描述
微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。
社区管理员
  • 微信开发
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧