日期:2014-05-17  浏览次数:20643 次

建设银行在线支付 数字签名问题 急!!!!!!!!!
各位大虾你们好 
在开发建设银行在线支付中遇到一个问题  当支付成功后银行返回支付结果 如下:
POSID=209824019&BRANCHID=340000000&ORDERID=201105131118475091&PAYMENT=0.1&CURCODE=01&REMARK1=&REMARK2=&SUCCESS=Y&ACCDATE=20110518&SIGN=47c9cb43b311f384b9c898ec5639bcaa9773f4cbce59ec1bcede17f4aa778b9d34c31f78465deb5520adb786ba8ec4afebe2719259072bdf92953fdcd0c853704c741f61e7d298fbc47bbba14f94dfd0ac3a1a4003963525b833e412b96f3b1ca4a87ec22212576201fcaf57756e79381fa1321b6d13e7a4d1ed95901c566bea
然后 我在建行的网站上下载公钥
代码如下:
            string canshu = "POSID=" + Request.QueryString["POSID"] +
                 "&BRANCHID=" + Request.QueryString["BRANCHID"] + "&ORDERID=" + Request.QueryString["ORDERID"] + "&PAYMENT=" +
                 Request.QueryString["PAYMENT"] + "&CURCODE=" + Request.QueryString["CURCODE"] + "&REMARK1=" + Request.QueryString["REMARK1"]
                 + "&REMARK2=" + Request.QueryString["REMARK2"] + "&ACCDATE=" + Request.QueryString["ACCDATE"]
                 + "&SUCCESS=" + Request.QueryString["SUCCESS"];

            //签名;
            string sign = Request.QueryString["SIGN"];
            //本地Key值
            string mysign = System.Configuration.ConfigurationSettings.AppSettings["PublicKey"].ToString();
            CCBRSA.RSASig rsa;

            //注册一下regsvr32  CCBRSA.dll 文件
            rsa = new CCBRSA.RSASigClass();

            bool bRet;
            rsa.setPublicKey(mysign);
            bRet = rsa.verifySigature(sign, canshu);

现在问题是这个bRet = rsa.verifySigature(sign, canshu);签名认证不过去  DLL调用都正常 就是签名认证失败
请问有没有人也遇到这样的问题 或者 解决过这个的问题 请帮帮我  项目很急  先谢谢大家了 本人QQ610116652
谢谢
------最佳解决方案--------------------
申请了建行在线支付帐号了吗,确定支付帐号无误?
------其他解决方案--------------------
申请了啊  这是在支付成功后 建行返回商户的信息  需要数字验证 就是验证不过 很郁闷!
------其他解决方案--------------------
你好,能不能详细说明一下建设银行网上支付接口中服务器通知和页面通知区别啊,谢谢!