[英]Using Trusted Root Certification Authorities for server certificate validation in HttpClient
[英]Trusting SSL certificates stored in “Trusted Root Certification Authorities” in c#
內容:
我正在嘗試使用ADFS SSO進行試驗,並按照本教程的要求首先連接到Azure AD:
那行得通。
然后,按照此其他教程,嘗試使其連接到Win Server 2012 R2上的ADFS:
就像他們在第3篇教程中所說的那樣: https : //msdn.microsoft.com/en-us/library/dn660967.aspx
我收到SSL證書錯誤:
問題:
我知道我可以繞過證書驗證或在ServicePointManager.ServerCertificateValidationCallback中添加特殊邏輯以對此進行編碼,但是由於我將證書導入本地計算機“受信任的根證書頒發機構” ...:
...為什么我的服務仍在抱怨該證書?
...是否可以告訴我的C#服務在“受信任的根證書頒發機構”商店中接受所有證書?
注意:我確實實現了ServicePointManager.ServerCertificateValidationCallback,並且可以正常工作,但是由於我們將獲得一大堆向其發送ADFS證書的客戶端,因此我只需要將其證書導入證書存儲區即可使我們的服務信任他們。
謝謝
您應該將根證書放入“受信任的根證書頒發機構”存儲中(而不是證書本身)。 如果您打開證書並轉到證書路徑,則可以查看根證書。
為了進一步解釋這一點:
每個證書都有一個頒發者,並且該頒發者也有一個證書。
通常,頒發者是證書頒發機構(CA)。
(CA的)此類證書可以由CA自身(自簽名)或另一個父CA進行簽名。
因此,您在這里有父母/子女關系。 根證書是根頒發者的證書,即,該證書是自簽名的父母/祖父母。
在此示例中,管理員證書由CA簽名。 CA證書是自簽名的。 在這種情況下,您需要將CA證書安裝到“受信任的根證書頒發機構”存儲中。
在證書驗證中,還有其他因素也起作用。 例如,證書具有有效期數據,之后將被視為無效數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.