前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#创建https请求并使用pfx证书

C#创建https请求并使用pfx证书

作者头像
拓荒者-NET
发布2019-09-26 11:20:52
1.3K0
发布2019-09-26 11:20:52
举报

常规情况下创建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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011-03-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档