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; 
            }
  • 相关阅读:
    idea 提示不能打开cmd.exe,idea 编译项目 CreateProcess error=740, 请求的操作需要提升 --->如何设置cmd以管理员身份运行
    Maven之--安装nexus 私服
    如何生成effective-pom
    maven之---资源过滤 在java/main/resourse/*.xml ,*.properties引用maven属性${db.username}
    使用JavaMailSender 发送邮件
    spring 读取account-service中的值
    spring web.xml 标签<param-name>contextConfigLocation</param-name>
    application.properties案例
    解决mybatis-plus的updateById报错的问题
    postman百度云下载
  • 原文地址:https://www.cnblogs.com/Tmc-Blog/p/4680200.html
Copyright © 2011-2022 走看看