簡體   English   中英

C#/ UWP:如何使用HttpClient管理證書錯誤?

[英]C#/UWP : How to manage certificate errors with HttpClient?

我為客戶端開發了UWP應用 ,該應用使用在其域中托管的WebService

  • 到目前為止,URL WebServices與未使用SSL的測試服務器相關

  • 但是現在,WebServices URL與使用SSL產品服務器相關

因為我是分包商,所以沒有AD帳戶,我需要使用VPN來訪問客戶端的WebServices。

訪問測試服務器沒有任何問題,但生產服務器不再是這種情況。

當我嘗試通過導航器訪問URL時,會收到一條安全警告消息( DLG_FLAGS_INVALID_CA ),但是我可以“強制”導航到URL。

但是,當我使用HttpCLient從應用程序調用WebService時,我也收到一個錯誤( HttpRequestException ),但看不到如何解決它。

以下是例外的詳細信息:

HResult = -2147012851

InnerException = {System.Runtime.InteropServices.COMException(0x80072F0D):找不到與錯誤代碼相關的文本。 證書頒發機構在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)處無效或不正確...

Message =“發送請求時發生錯誤。”

來源=“ System.Net.Http”

我已經嘗試在計算機上手動安裝證書,但這不能解決問題。

還有其他方法嗎?

編輯:添加“用戶”證書

客戶端向我發送了“用戶”證書,並將其安裝在計算機上的“用戶\\受信任的根證書頒發機構證書存儲”中 :導航器不再存在問題。 但是,在應用程序中,問題仍然存在。

正常嗎 我需要將證書“附加”到應用程序嗎? 這並不是真正有用的,因為客戶端的用戶不需要這個問題:因為我是使用VPN的分包商,所以只有我一個人...

編輯:添加“計算機”證書

最終,客戶端向我發送了“計算機”證書,然后將其安裝在計算機上的“計算機\\受信任的根證書頒發機構證書存儲”中 :這次我可以毫無問題地使用該應用程序了。

很高興知道UWP應用和導航器沒有使用相同的證書。

通過安裝客戶端發送的“用戶”“計算機”證書已解決了該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM