请做过工商银行B2C开发的人来帮帮忙
做工行的B2C系统,已经可以正常支付,但是返回的数据无法验证成功
Dim merVAR, signMsg, notifyData As String
'接收到银行返回的数据
merVAR = Request.Form("merVAR")
notifyData = Request.Form("notifyData")
signMsg = Request.Form("signMsg")
'为了安全起见(防止别人伪造一个工行发过来的支付成功URL),还要做一下验证:
Try
Dim rc As Integer
Dim bb As New ICBCEBANKUTILLib.B2CUtil
rc = bb.init("d:\user.crt", "d:\user.crt","d:\user.key", "123456")
If rc <> 0 Then
Response.Write("证书初始化错误!")
Exit Sub
End If
Dim cert As String
cert = bb.getCert(1)
If cert = "" Then
Response.Write("获取商户证书失败,错误原因:<br>" & bb.getRC)
Exit Sub
End If
Dim sscr As String
Dim aaa As String
'aaa为解码base64后的数据,decodebase64是解码base64的方法
aaa = decodebase64(notifyData)
sscr = bb.verifySignC(aaa, aaa.Length, signMsg, signMsg.Length)
If sscr = -1 Then
Response.Write("验证失败")
Exit Sub
ElseIf sscr = -2 Then
Response.Write("解码失败")
Exit Sub
ElseIf sscr = -100 Then
Response.Write("明文字符串传递有误")
Exit Sub
ElseIf sscr = -101 Then
Response.Write("签名字符串传递有误")
Exit Sub
End If
此处验证签名总是验证失败,不知道什么原因 sscr 总是等于-1,不知道已经开发过工行的高人是怎么解决的
是不是我标注红色字体的地方一定要用银行证书,但是银行给我的测试证书只有2个文件,一个crt一个key文件
------解决方案--------------------http://topic.csdn.net/u/20081023/14/cbbf2290-5e59-440d-a71f-7155c28e10cc.html
http://www.google.cn/search?sourceid=navclient&hl=zh-CN&ie=UTF-8&rlz=1T4SKPB_zh-CNAU272AU272&q=%e5%b7%a5%e8%a1%8c%e5%9c%a8%e7%ba%bf%e6%94%af%e4%bb%98%e6%8e%a5%e5%8f%a3
------解决方案--------------------会不会银行给你的测试证书有问题
------解决方案--------------------路过看看
------解决方案--------------------帮顶下。问问工行的人
------解决方案--------------------友情帮顶
------解决方案--------------------
不懂。接分……
------解决方案--------------------
jf
------解决方案--------------------
顶,问题难!! 占楼接分,私下解决。