常规情况下创建Web请求,并获取请求数据的代码如下:

WebRequest req = WebRequest.Create(url);

req.Timeout = 15000;

WebResponse result = req.GetResponse();

Stream ReceiveStream = result.GetResponseStream();

如果需要在代码中加入证书,则需要使用HttpWebRequest对象进行请求,代码如下:

//添加验证证书的回调方法

ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);

HttpWebRequest httpRequest = (HttpWebRequest)HttpWebRequest.Create(strQueryURL);

X509Certificate cerCaiShang = new X509Certificate(System.Web.HttpContext.Current.Server.MapPath(setting.PfxFile), setting.key);

httpRequest.ClientCertificates.Add(cerCaiShang);

HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();

Stream receiveStream = httpResponse.GetResponseStream();

// 回调方法

public static bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)

{

if (sslPolicyErrors == SslPolicyErrors.None)

return true;

return false;

}

本来这就算是完成了,但总是失败,原因未知,与万恶的Windows有关,还需要将客户端的证书+私钥(pfx 或p12 文件),导入到操作系统(windows)的相关证书区域,步骤:

Windows xp/2003

1. 单击 开始 ,单击 运行 ,键入 mmc ,然后单击 确定 。

2. 在 文件 菜单上单击 添加/删除管理单元 。

3. 在 添加/删除管理单元 对话框中,单击 添加 。

4. 在 添加独立管理单元 对话框单击 证书 ,然后单击 添加 。

5. 在在 证书管理单元中 对话框中单击 计算机帐户 ,然后单击 下一步

6. 在 选择计算机 对话框中,单击 完成 。

7. 在 添加独立管理单元 对话框单击 关闭 ,然后单击 确定 。

8. 展开 证书 (本地计算机) ,展开 个人 ,然后单击 证书 。

9. 右键 -》 所有任务-》导入 选择你的证书导入

Windows 7

1. 单击 开始 ,单击 运行 ,键入 mmc ,然后单击 确定 。

2. 在 文件 菜单上单击 添加/删除管理单元 。

3. 在 可用的管理单元 列表中选择 证书 ,点击 添加 。

4. 在 证书管理 对话框中选择 计算机账户 ,然后单击 下一步

5. 在 选择计算机 对话框中,单击 完成 。

6. 在 添加或删除管理单元 对话框单击 确定 。

7. 展开 证书 (本地计算机) ,展开 个人 ,然后单击 证书 。

8. 右键 -》 所有任务-》导入 选择你的证书导入

再次测试,就可以使用了。

参考:http://blog.wsdd.org/?p=510

本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/archive/2011/03/28/1997694.html,如需转载请自行联系原作者

C#创建https请求并使用pfx证书相关推荐

  1. WinInet:HTTPS 请求出现无效的证书颁发机构的处理

    首先,微软提供的WinInet库封装了对网页访问的方法. 最近工作需要从https服务器获取数据,都知道https和http网页的访问方式不同,多了一道证书认证程序,这样就使得https在请求起来比h ...

  2. 小程序ssl报错java,抖音(字节跳动)小程序遇到request(https)请求报错,SSL证书验证失败...

    今天做抖音小程序时遇到的奇怪问题: 本地测试都正常,真机调试时也正常,准备上线了,把http改成https,调用tt.request()时就报错. tt.request()报错如下: "re ...

  3. 【Spring】Feign客户端发送HTTPS请求绕过认证

    1.概述 转载:https://www.jianshu.com/p/ea627708ab52 一个Spring Boot项目,为了使用Harbor仓库,起初通过Spring RestTemplate完 ...

  4. Spring Boot配置SSL实现https请求

    Spring Boot配置SSL实现https请求 1. 生成SSL证书 专业的SSL证书较为昂贵,可以在腾讯云或者阿里云上申请免费的SSL证书. 如果只是做简单的demo,可以使用java自带的ke ...

  5. Charles 抓包 Idea IntelliJ 的 HTTPS 请求

    默认情况下,Idea IntelliJ 的https请求,不会被 Charles 抓包抓到的.本文将介绍如何通过 Charles 来抓包Idea IntelliJ 的https请求. 1 安装 证书到 ...

  6. pfx证书密码怎么查询_网站是HTTP?10分钟变成HTTPS!域名免费添加配置SSL证书,变成https//环境...

    对于小程序request请求需要https域名.navigator.geolocation定位也需要在https环境下才可以生效等问题: 前端开发越来越需要https环境来来测试一下API接口和各类问 ...

  7. Android——自建CA证书,实现https请求

    Android 使用https 协议请求客户端 server端操作 自己创建 CA 证书 拿自建CA 证书创建 server 端证书 创建 https 服务 Android客户端操作 创建项目并引入相 ...

  8. iOS使用自签名证书实现HTTPS请求

    原文链接:http://www.jianshu.com/p/e6a26ecd84aa 由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求,否则无法上架,因此研究了一下在iOS ...

  9. iOS 用自签名证书实现 HTTPS 请求的原理实例讲解

    在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求.默认情况下非HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info ...

最新文章

  1. Linux操作系统文件系统基础知识详解
  2. RabbitMQ 简介
  3. CSP认证201609-1 最大波动[C++题解]:遍历
  4. 在ArcGIS中认识 Python工具箱
  5. table表头固定4种方法_移动式、半移动式、半固定式、固定式4种破碎站详细介绍及优缺点对比...
  6. 需要gmail的朋友请留下你们的email,还有86个
  7. 谈谈控制器技术SpringMVC与struts2
  8. jquery下插入标签以及clone的应用
  9. http抓包实践--(五)-常用的操作
  10. 深圳中技物流有限公司软件测试,国际空运
  11. DCDC电源中同步与异步的区别
  12. IE浏览器假死解决办法
  13. HIVE中 ROW_NUMBER() OVER() 函数
  14. Cisco Viptela SD-WAN实验
  15. java制作纯字rpg小游戏_初学JAVA时编写的rpg文字游戏
  16. PHP 获取当天凌晨时间戳
  17. 嵌入式开发对学历门槛要求高吗?
  18. 人生之路 — 切勿迷失自我
  19. Scala-Scala学习笔记
  20. 计算机视觉之目标检测一之SSD

热门文章

  1. freertos 定时器 不启动_FreeRTOS 从入门到精通8--软件定时器应用
  2. java实现三位数加减乘除_用Java位运算实现加减乘除四则运算
  3. python语言句块的标记_Python语言语句块的标记是()
  4. fiddler弱网测试_移动端质量体系之弱网测试
  5. 高中计算机室名言,高中教室励志标语名言
  6. python怎么new对象_Python使用__new__()方法为对象分配内存及返回对象的引用示例
  7. python的property用法_python @property的用法及含义全面解析
  8. Python之try except异常处理工作机制和案例解析
  9. 【知识便利贴】ImageNet得的比Best Paper还牛的Longuet-Higgins奖是啥?
  10. 中国煤制甲醇产业发展形势与产量预测报告2022版