[英]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.