示例#1
0
        public static Boolean VerifySign(HttpResponseMessage respMsg, String respString, out String errorMessage)
        {
            errorMessage = null;
            if (!respMsg.Headers.TryGetValues("X-99Bill-Signature", out IEnumerable <String> respSign))
            {
                errorMessage = "响应头中无\"X-99Bill-Signature\"字段";
                return(false);
            }

            String signString = respSign.FirstOrDefault();

            if (signString.IsNullOrWhiteSpace())
            {
                errorMessage = "响应头中\"X-99Bill-Signature\"字段的值为空";
                return(false);
            }

            var verifyResult = SignUtil.VerifySign(signString, respString, KeyConfig.Bill99_HAT_PublicKey, "RSA");

            if (!verifyResult.Success)
            {
                errorMessage = verifyResult.ErrorMessage;
            }
            return(verifyResult.Success && verifyResult.Value);
        }
示例#2
0
        private static Boolean VerifySign(String signContent, String sign, out String errorMessage)
        {
            errorMessage = null;

            sign = DecodeBase64(sign.Substring(0, sign.Length - "$SHA256".Length));

            var verifyResult = SignUtil.VerifySign(sign, signContent, KeyConfig.YeePay_FundOut_PublicKey, "RSA2");

            if (!verifyResult.Success)
            {
                errorMessage = verifyResult.ErrorMessage;
            }
            return(verifyResult.Success && verifyResult.Value);
        }
示例#3
0
        private Boolean VerifySign(GatewayCommonRequest request)
        {
            var verifyResult = SignUtil.VerifySign(request.Sign, request.BizContent, GetPublicKey(request.AppId), request.SignType.ToString());

            return(verifyResult.Success && verifyResult.Value);
        }