zoukankan      html  css  js  c++  java
  • C# 数字证书微信API调用使用参考事例

     X.509 v.3 证书的方法。一个比较完整的调用  微信  API的示例:

    private stringGetResponseResult()
            {

    string strResponseResult="";//返回结果 

                try
                {
                    string url = "https://api.mch.weixin.qq.com/secapi/pay/refund";
                    string cert = @"";//证书文件(完整文件名称)
                    string password = "123467890";//验证证书密码

    //对服务端证书进行有效性校验(非第三方权威机构颁发的证书,如自己生成的,不进行验证,这里返回true)

                    ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
                    X509Certificate cer = new X509Certificate(cert, password);// X.509 v.3 证书的方法。
                    HttpWebRequest webrequest = (HttpWebRequest)HttpWebRequest.Create(url);//模拟http请求
                    webrequest.ClientCertificates.Add(cer);
                    webrequest.Timeout = 30000;
                    webrequest.Method = "post";
                    HttpWebResponse webreponse = (HttpWebResponse)webrequest.GetResponse();//获取相应流信息
                    Stream stream = webreponse.GetResponseStream();
                    string resp = string.Empty;
                    using (StreamReader reader = new StreamReader(stream))
                    {
                        resp = reader.ReadToEnd();
                    }
                  strResponseResult = resp;
                }
                catch (Exception exp)
                {
                    throw new Exception("Exception Information:"+exp.Message.ToString());
                }

    return strResponseResult;
     

            }
            private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
            {
                if (errors == SslPolicyErrors.None)
                    return true;  
                return false; 
            }
  • 相关阅读:
    C++11 并发指南三(Lock 详解)
    C++11 并发指南六(atomic 类型详解四 C 风格原子操作介绍)
    C++11 并发指南六(atomic 类型详解三 std::atomic (续))
    C++11 并发指南六( <atomic> 类型详解二 std::atomic )
    C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍)
    C++11 并发指南五(std::condition_variable 详解)
    腾讯地图定位及坐标解析
    控制器里把文件转为二进制输出下载
    C#操作mongodb简记
    MYSQL备份还原问题
  • 原文地址:https://www.cnblogs.com/Tmc-Blog/p/4680200.html
Copyright © 2011-2022 走看看