2012-05-01 42 views
44

Có bất kỳ whay nào mà tôi có thể yêu cầu RestSharp bỏ qua các lỗi trong chứng chỉ SSL không? Tôi có một khách hàng thử nghiệm và dịch vụ tôi kết nối chưa có giấy chứng nhận hợp lệ.RestSharp - Bỏ qua các lỗi SSL

Khi tôi thực hiện một yêu cầu bây giờ tôi nhận được lỗi:

The underlying connection was closed: Could not establish trust 
relationship for the SSL/TLS secure channel. 

Cảm ơn trước

/michael

Cập nhật:

tôi đã kết thúc bằng:

ServicePointManager.ServerCertificateValidationCallback += 
      (sender, certificate, chain, sslPolicyErrors) => true; 
+1

Câu trả lời là ở đây nhưng tôi không thể biến nó thành một thực tế từ điện thoại của tôi http://www.west-wind.com/weblog/posts/2011/Feb/11/HttpWebRequest-and-Ignoring- SSL-Certificate-Errors –

+0

Tuyệt vời - Tôi đã cập nhật câu hỏi với câu trả lời. Nhưng đăng một câu trả lời "thực" và tôi sẽ chấp nhận nó :-) –

+4

Nói chung tốt hơn là nhập chứng chỉ kiểm tra trong các khách hàng thử nghiệm tin cậy neo, thay vì bỏ qua việc xác minh chứng chỉ hoàn toàn. Thứ nhất, nó thực tế hơn; thứ hai, bạn tránh để loại mã không an toàn này trong sản phẩm cuối cùng của mình. – Bruno

Trả lời

51

Như John đã đề xuất:

ServicePointManager.ServerCertificateValidationCallback += 
     (sender, certificate, chain, sslPolicyErrors) => true; 
+3

Tác phẩm, nhưng đó không phải là điều tuyệt vời khi xem xét nó thiết lập một hành vi toàn cầu. – talles

4

Có giải pháp tốt hơn là sửa đổi mã của bạn. Lý tưởng nhất là bạn muốn một giải pháp sẽ mô phỏng các điều kiện bạn sẽ thấy trong sản xuất và sửa đổi mã của bạn sẽ không làm điều đó và có thể nguy hiểm nếu bạn quên lấy mã ra trước khi bạn triển khai nó.

Bạn sẽ cần chứng chỉ tự ký của một số loại. Nếu bạn đang sử dụng IIS Express, bạn sẽ có một trong số này, bạn sẽ phải tìm nó. Nếu bạn chưa có, hãy mở Firefox hoặc bất kỳ trình duyệt nào bạn thích và truy cập trang web của bạn. Bạn sẽ có thể xem thông tin chứng chỉ từ thanh URL và tùy thuộc vào trình duyệt của bạn, bạn sẽ có thể xuất chứng chỉ.

Tiếp theo, mở MMC.exe và thêm chứng chỉ snap-in. Nhập tệp chứng chỉ của bạn vào kho lưu trữ Tổ chức phát hành chứng chỉ gốc đáng tin cậy và đó là tất cả những gì bạn cần.

Bây giờ, toàn bộ máy tính của bạn sẽ tin tưởng hoàn toàn vào bất kỳ chứng chỉ nào đã tạo và bạn sẽ không cần thêm mã để xử lý đặc biệt này. Khi bạn chuyển sang sản xuất, nó sẽ tiếp tục hoạt động với điều kiện bạn có một chứng chỉ hợp lệ được cài đặt ở đó.

+0

Xin lỗi, nhưng không rõ ràng đối với tôi, quá khó, không giống như giải pháp trước đó chỉ hoạt động. Tôi không phải là chuyên gia về chứng chỉ. –

+0

Ứng dụng Rest Rest Rest Restarar của tôi cố truy cập vào dịch vụ REST (bên thứ ba/bên ngoài/bên ngoài) không có chứng chỉ hợp lệ, khi tôi thử mở trang web chỉ cảnh báo tôi thấy trong trình duyệt gần URL: "kết nối không an toàn". Và không có chứng chỉ nào có sẵn để xuất từ ​​trình duyệt, khi bạn viết. Tôi không có khả năng mua chứng chỉ cho trang web/dịch vụ đó, bởi vì nó không phải là của tôi Tôi chỉ muốn nhận một số dữ liệu json từ nó mà không có lỗi. –

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