2015-12-29 38 views
7

RestSharpは、Httpsリクエストでクライアント証明書を追加する方法を教えてください。私のコードは動作しません。まずRestSharpはHttpsリクエストでクライアント証明書を追加する方法は? (C#)

public static IRestResponse<User> AsyncHttpRequestLogIn(string path, string method, object obj) 
    { 
     var client = new RestClient(Constants.BASE_URL + path); // https:.... 
     var request = method.Equals("POST") ? new RestRequest(Method.POST) : new RestRequest(Method.GET); 
     request.RequestFormat = RestSharp.DataFormat.Json; 

     // The path to the certificate. 
     string certificate = "cer/cert.cer";  

     client.ClientCertificates.Add(new X509Certificate(certificate)); 

     request.AddBody(
      obj 
     ); 


     IRestResponse<User> response = client.Execute<User>(request); 

     return response; 

    } 
+1

こんにちはを要求するために添付してください!どのような例外がありますか? – Alina

答えて

13

あなたは、証明書をインポートして

X509Certificate2 certificates = new X509Certificate2(); 
certificates.Import(...); 

client.ClientCertificates = new X509CertificateCollection(){certificate}); 
+0

これは実際にはうまくいったのですが、私がリクエストを送るとき、証明書はそれにはありません。クライアント証明書コレクションに自分の署名証明書が設定されていることを確認しているにもかかわらず、 – Chazt3n

+1

@ Chazt3n更新された回答をご覧ください。 – tungula

+0

OK私は間違いなくこの証明書を送付しました。編集していただきありがとうございます。 WebAPIでクライアント証明書を受け入れるための最低要件を知っていますか? – Chazt3n

関連する問題