/// <summary> /// 使用平台公钥验签,数据列表里一定要包含rsaSign /// </summary> /// <returns></returns> public Boolean IsBDPaySign() { var akeys = new string[Parameters.Keys.Count]; Parameters.Keys.CopyTo(akeys, 0); IDictionary <string, string> paramsMap = new Dictionary <string, string>(); foreach (string k in akeys) { paramsMap.Add(k, (string)Parameters[k]); } if (string.IsNullOrWhiteSpace(PublicKey)) { throw new Exception("请求方法【IsBDPaySign】 必须传参数【PublicKey】"); } //var rsaSign = GetParameter("rsaSign"); //LogHelper.WriteCustomNoAdd("paramsMap:" + AlipaySignature.GetSignContent(paramsMap), "IsBDPaySign_Info\\"); var flag = AlipaySignature.RSACheckBD(paramsMap, PublicKey, "utf-8", "RSA", false); return(flag); }
/// <summary> /// 用私钥获取RSA签名后的BASE64数据 /// </summary> /// <returns></returns> public string GetRSASign() { var akeys = new string[Parameters.Keys.Count]; Parameters.Keys.CopyTo(akeys, 0); IDictionary <string, string> paramsMap = new Dictionary <string, string>(); foreach (string k in akeys) { string v = (string)Parameters[k]; if (String.Compare("rsaSign", k, StringComparison.CurrentCultureIgnoreCase) != 0) //这里要去掉rsaSign,防止误传 { paramsMap.Add(k, v); } } if (string.IsNullOrWhiteSpace(PrivateKey)) { throw new Exception("请求方法【GetRSASign】 必须传参数【PrivateKey】"); } return(AlipaySignature.RSASign(paramsMap, PrivateKey, "utf-8", false, "RSA")); //AlipaySignature.RSASign(paramsMap, PrivateKey, "utf-8", true, "RSA"); }