本帖最后由 accpbl0330 于 2011-07-19 17:30:59 编辑

解决方案 »

  1.   

    bb.signC(src, src.Length);
    这个方法返回值为null
      

  2.   

    回子夜 是啊返回为null ,不知道为什么返回为空 。 应该返回base64编码
      

  3.   

     private string IcbcSign
        {
            get
            {
                string sSign = string.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}",
                    m_dicParams["interfaceName"], m_dicParams["interfaceVersion"], m_dicParams["merID"],
                    m_dicParams["merAcct"], m_dicParams["merURL"], m_dicParams["notifyType"],
                    m_dicParams["orderid"], m_dicParams["amount"], m_dicParams["curType"],
                    m_dicParams["resultType"], m_dicParams["orderDate"], m_dicParams["verifyJoinFlag"]);            ICBCEBANKUTILLib.B2CUtil B2C = new ICBCEBANKUTILLib.B2CUtilClass();
                string certFN = Server.MapPath(Common.GetAppSettings("ICBC_certFN"));
                string certFNM = Server.MapPath(Common.GetAppSettings("ICBC_certFNM"));
                string keyFN = Server.MapPath(Common.GetAppSettings("ICBC_keyFN"));            int IsUitility = B2C.init(certFN, certFNM, keyFN, CurrentAuth.MerchantSignKey);
                if (IsUitility != 0)
                {
                    throw (new Exception("在线支付模块出错,错误原因:" + IsUitility));
                }            sSign = B2C.signC(sSign, sSign.Length);
                AddParam("merCert", B2C.getCert(1));            return sSign;
            }
        }
    参考一下吧