2015-12-29 18 views
7

Làm cách nào để RestSharp thêm chứng chỉ ứng dụng khách vào yêu cầu Https? Mã của tôi nó không hoạt động.Làm cách nào để RestSharp thêm chứng chỉ ứng dụng khách vào yêu cầu 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

Hi! Bạn đã nhận được loại ngoại lệ nào? – Alina

Trả lời

13

Lúc đầu, bạn nên nhập chứng chỉ và sau đó đính kèm để yêu cầu

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

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

Vì vậy, điều này đã thực sự làm việc, tuy nhiên khi tôi gửi yêu cầu chứng chỉ không có trên đó. Mặc dù xác minh bộ sưu tập chứng chỉ của khách hàng được điền bằng chứng chỉ của tôi là – Chazt3n

+1

@ Chazt3n Nhìn vào câu trả lời cập nhật của tôi – tungula

+0

OK Tôi chắc chắn đã làm điều này, bây giờ tôi đang gửi chứng chỉ qua dây. Cảm ơn bạn đã chỉnh sửa. Bạn có biết các yêu cầu tối thiểu để chấp nhận chứng chỉ ứng dụng khách trong WebAPI không? – Chazt3n

Các vấn đề liên quan