1. ホーム
  2. c#

WebClient(C#)に証明書を追加する方法は?

2023-10-01 01:11:46

質問

私は、HttpWebRequestに証明書を追加することが非常に簡単であることを知っています。しかし、私はWebClientを使用して同等のことを行う方法を見つけられませんでした。基本的に、私は WebClient を使用して特定の証明書を持つ POST を送信したいと思います。

WebClient を使用してこの正確なコードをどのように達成するのでしょうか。

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

どのように解決するのですか?

1つ以上の関数をサブクラス化し、オーバーライドする必要があります。

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