CRL.Business.OnlinePay.Company.Lianlian.YinTongUtil.checkSignRSA C# (CSharp) Метод

checkSignRSA() приватный статический Метод

private static checkSignRSA ( string>.SortedDictionary sParaTemp, String rsa_public ) : bool
sParaTemp string>.SortedDictionary
rsa_public String
Результат bool
        private static bool checkSignRSA(SortedDictionary<string, string> sParaTemp, String rsa_public)
        {
            string oid_partner;
            sParaTemp.TryGetValue ("sign_type", out oid_partner);
            Console.WriteLine("进入商户[" + oid_partner + "]MD5签名验证");

            if (sParaTemp == null)
            {
                return false;
            }
            String sign;
            if (!sParaTemp.TryGetValue ("sign", out sign))
            {
                return false;
            }

            // 生成签名原串
            String sign_src = genSignData(sParaTemp);

            Console.WriteLine("商户[" + oid_partner + "]待签名原串"
                + sign_src);
            Console.WriteLine("商户[" + oid_partner + "]签名串"
                + sign);
            try
            {
                if (RSAFromPkcs8.verify(sign_src,sign,rsa_public,"UTF-8" ))
                {
                    Console.WriteLine("商户[" + oid_partner
                        + "]RSA签名验证通过");
                    return true;
                } else
                {
                    Console.WriteLine("商户[" + oid_partner
                        + "]RSA签名验证未通过");
                    return false;
                }
            } catch (Exception e)
            {
                Console.WriteLine("商户[" + oid_partner
                    + "]RSA签名验证异常" + e.Message);
                return false;
            }
        }