你怎么能证书添加到Web客户端(C#)? [英] How can you add a Certificate to WebClient (C#)?

查看:131
本文介绍了你怎么能证书添加到Web客户端(C#)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道这是pretty简单的证书添加到HttpWebRequest的。但是,我还没有找到一个方式做使用Web客户端等效的。基本上,我想用WebClient的特定证书发出一个POST。

你会如何使用完成此的WebClient确切code:

  VAR请求=(HttpWebRequest的)WebRequest.Create(我的URL);
    request.Method =POST;
    request.ClientCertificates.Add(新x509证书()); //添加证书


解决方案

您必须继承和覆盖一个或多个功能。

 类MyWebClient:Web客户端
{
    保护覆盖的WebRequest GetWebRequest(URI地址)
    {
        HttpWebRequest的要求=(HttpWebRequest的)base.GetWebRequest(地址);
        request.ClientCertificates.Add(新x509证书());
        返回请求;
    }
}

I know it is pretty simple to add a certificate to a HttpWebRequest. However, I have not found a way to do the equivalent using WebClient. Basicly, I want to send out a POST with a specific certificate using WebClient.

How would you accomplish this exact code using WebClient:

    var request = (HttpWebRequest) WebRequest.Create("my-url");
    request.Method = "POST";
    request.ClientCertificates.Add(new X509Certificate()); //add cert

解决方案

You must subclass and override one or more functions.

class MyWebClient : WebClient
{
    protected override WebRequest GetWebRequest(Uri address)
    {
        HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
        request.ClientCertificates.Add(new X509Certificate());
        return request;
    }
}

这篇关于你怎么能证书添加到Web客户端(C#)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆